【摘要】:再看一个如例3-5所示的偏应用函数循环打印应用的例子。Scala偏应用函数在Scala IDE中的示例。
其中,sum_就是一个偏应用函数,将sum_赋值给fp_a,编译器生成的类继承了特质function3,定义了3个参数的apply方法,因此可以执行fp_a.apply(1,2,3),使用apply方法计算结果为6;在sum_的示例中,sum_没有定义任何参数,是一个偏应用函数。
sum(1,_:Int,3)给sum函数提供部分参数,没有提供所有参数的函数,也是一个偏应用函数。如例3-4所示。
【例3-4】Scala偏应用函数apply应用示例。
这里sum(1,_:Int,3)是一个偏应用函数,提供了两个参数1,3,中间的一个参数用占位符_替代,将sum(1,_:Int,3)赋值给fp_b,编译器生成的类继承了特质function1,定义了一个参数的apply方法,因此可以执行fp_b(2),使用apply方法计算结果为6;fp_b.apply(10)的计算结果为14。
再看一个如例3-5所示的偏应用函数循环打印应用的例子。首先定义一个list列表赋值给变量data,通过foreach(println_)打印输出变量data的每一个元素,println_是一个偏应用函数,没有提供所有的参数列表,且正好在foreach函数运行的位置,甚至可以省略下画线_,直接表达为Scala>data.foreach(println),能实现同样的效果。
【例3-5】偏应用函数循环打印应用示例。
(www.daowen.com)
在Scala IDE中,偏应用函数的使用如例3-6所示。
【例3-6】Scala偏应用函数在Scala IDE中的示例。
运行结果如图3-2所示。
图3-2 运行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Scala语言基础与开发实战的文章