理论教育 Scala语言基础与开发实战:偏应用函数实例

Scala语言基础与开发实战:偏应用函数实例

时间:2023-11-24 理论教育 版权反馈
【摘要】:再看一个如例3-5所示的偏应用函数循环打印应用的例子。Scala偏应用函数在Scala IDE中的示例。

Scala语言基础与开发实战:偏应用函数实例

978-7-111-54169-1-Chapter03-6.jpg

其中,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应用示例。

978-7-111-54169-1-Chapter03-7.jpg

这里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】偏应用函数循环打印应用示例。

978-7-111-54169-1-Chapter03-8.jpg(www.daowen.com)

978-7-111-54169-1-Chapter03-9.jpg

在Scala IDE中,偏应用函数的使用如例3-6所示。

【例3-6】Scala偏应用函数在Scala IDE中的示例。

978-7-111-54169-1-Chapter03-10.jpg

运行结果如图3-2所示。

978-7-111-54169-1-Chapter03-11.jpg

图3-2 运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈