/* * Anonymous functions and lambdas * Lambda are a simmpler syntax for anonymous functions. * If Lambda has a return value -- that return is from last expression * Lambda are usually a single expression, but they can be more * Real power of lambda is doing things with one-off -- for instance the final print */ typealias AAA = (Int)->Int fun main() { val isEven = fun(a:Int):Boolean { return a%2==0 } val fff = { -> 4 } val isEvenLam = { a:Int -> a%2==0 } println(fff()) println(isEven(2)) println(isEven(3)) println(isEvenLam(2)) println(isEvenLam(3)) println({a:Int -> a%2==0}(4)) }