December 2017
Intermediate to advanced
322 pages
7h 3m
English
Those functions that take another function as an argument or return a function as result are called high-order functions. Consider the following example to understand it better:
fun highOrderFunc(a:Int, validityCheckFunc:(a:Int)->Boolean) {//(1)
if(validityCheckFunc(a)) {//(2)
println("a $a is Valid")
} else {
println("a $a is Invalid")
}
}
fun main(args: Array<String>) {
highOrderFun(12,{ a:Int -> a.isEven()})//(3)
highOrderFunc(19,{ a:Int -> a.isEven()})
}
In this program, we've declared a highOrderFunc function, which will take an Int and a validityCheckFunc(Int) function. We are calling the validityCheckFunc function inside the highOrderFunc function, to check whether the value was valid or not. However, we are ...
Read now
Unlock full access