Slide 65
Slide 65 text
Higher Order Functions
def math(x: Int, y: Int, op: (Int, Int) => Int) = {
op(x, y)
}
val multiply = (x: Int, y: Int) => {
x * y
}
val add = (x: Int, y: Int) => {
x + y
}
val sub = (x: Int, y: Int) => {
x - y
}
val divide = (x: Int, y: Int) => {
x / y
}
println(math(10, 5, divide))
// 2
println(math(10, 5, multiply))
// 50
println(math(10, 5, add))
// 15
println(math(10, 5, sub))
// 5