February 2018
Intermediate to advanced
350 pages
7h 35m
English
Identity and constant are straightforward functions. The identity function returns the same value provided as parameter; similar to additive and multiplicative identity property, adding 0 to any number is still the same number.
The constant<T, R>(t: T) function returns a new function that will always return the t value:
fun main(args: Array<String>) { val oneToFour = 1..4 println("With identity: ${oneToFour.map(::identity).joinToString()}") //1, 2, 3, 4 println("With constant: ${oneToFour.map(constant(1)).joinToString()}") //1, 1, 1, 1 }
We can rewrite our fizzBuzz value using constant:
fun main(args: Array<String>) { val fizz = PartialFunction({ n: Int -> n % 3 == 0 }, constant("FIZZ")) val buzz = PartialFunction(
Read now
Unlock full access