Home » Scala
Reduction of List
reduceLeft and foldLeft reduceLeft insert a given operator between adjacent elements of a list List(x1, …, xn) reduceLeft op = x1 op x2 op … xn Ex: def sum(xs: List[Int]) = (0 :: xs) reduceLeft (_ + _);…
Read More »Pair and tuple
Pair A pair include 2 elements that is written (x, y) in Scala Pairs can also be used as patterns: val (label, value) = pair Tuple A tuple includes more than 2 elements The fields of a tuple…
Read More »List
List is immutable, its elements can’t be changed List is recursive All the elements of list have the same type All lists are constructed from An empty list Nil Operator cons (::) Operators ending with “:” is calculated…
Read More »Functions as objects
The function type A => B is just an abbreviation for the class scala. Function1[A, B], which is defined as follows. package scala; trait Function1[A, B] { def apply(x: A): B } An anonymous function such as (x:…
Read More »Scala syntax summary
Type Numeric type: Int, Double (and Byte, Short, Char, Long, Float) Boolean type: with the values true and false String type Function type: ike Int => Int, (Int, Int) => Int Expression Identifier: such as x, isGoodEnough Literal:…
Read More »Currying
Currying is when you break down a function that takes multiple arguments into a series of functions that each take only one argument. Example Ex1: Write a function that takes the product of all the integers on a…
Read More »Higher-order functions
Higher order functions Higher order functions return functions as a result def sumInts(a: Int, b: Int): Int = if (a > b) 0 else a + sumInts(a + 1, b) Higher order functions also take other functions as…
Read More »Scala – Pattern Matching
Có rất nhiều trường hợp khi chúng ta cần đưa ra một quyết định trong chương trình dựa trên các điều kiện hoặc giá trị. Ý tưởng đầu tiên nghĩ đến trong đầu là toán tử IF ELSE…
Read More »Apache Kafka với Scala
Apache Kafka là nền tảng streaming phân tán mã nguồn mở được sử dụng để xây dựng các pipeline dữ liệu thời gian thực và các ứng dụng streaming. Nó có khả năng mở rộng theo chiều ngang,…
Read More »Scala – String
String trong Scala là kết hợp của các ký tự hoặc một chuỗi các ký tự. Nó là cấu trúc dữ liệu dựa trên index và sử dụng phương pháp tuyến tính để lưu trữ dữ liệu trong…
Read More »