之前,我们学习了Scala全局变量问题的解决,下面我们继续Scala讲座,解决如何将函数作为***类对象来处理。
将函数作为***类对象
在函数式语言中,可以对函数像值或对象实例一样进行绑定在变量上或者作为参数来传递的操作。最近的语言,即使不是函数式语言,也可以用闭包方式来实现这些功能。
以下是将函数绑定在multiply名称上,将函数赋给变量的示例。
将3传递给函数multiply返回6。
- scala> val multiply = (x:Int) => x * 2
- multiply: (Int) => Int =
下例中将multiply函数作为参数传递给别的函数。将函数muliply作为***个参数,7作为第二个参数传递给函数applyFunction,得到的返回值是14。
- scala> multiply(3)
- res1: Int = 6
好了,讲解完Scala函数与***类对象,Scala讲座中旧的知识的复习就到这里了,接下来让我们体验一下正真的函数式编程。
- def applyFunction(f:(Int => Int), num:Int):Int = {
- f(num)
- }
- scala> applyFunction(multiply, 7)
- res2: Int = 14
【编辑推荐】