大发快乐8APP下载_大发快乐8APP官方 - 大发快乐8APP下载,大发快乐8APP官方是新浪网最重要的频道之一,24小时滚动报道国内、国际及社会新闻。每日编发新闻数以万计。

Scala入门到精通——第十三节 高阶函数

  • 时间:
  • 浏览:0

这偏离 称为样板代码,即在任何实现该接口的类中都都还能能 一个多用,重复性较高,可能性ActionListener接口只一个actionPerformed措施,它被称为simple abstract method(SAM)。SAM转换是指只给addActionListener措施传递一个参数

1 map函数

所有集合类型都处在map函数,这种Array的map函数的API具有如下形式:

高阶函数主要有三种:三种是将一个函数当做另外一个函数的参数(即函数参数);另外三种是返回值是函数的函数。这三种在本教程的第五节 函数与闭包中可能性有所涉及,这里简单地回顾一下:

(1)函数参数

6 scan函数

在数组那一节中,朋友讲到,Scala中的数组都还能能 通过foreach措施将其内容打印出来,代码如下:

在中间的复杂输出代码中,下划线_并详细都是 占位符的作用,只是 作为偏离 应用函数的定义符。前面我演示了一个参数的函数偏离 应用函数的定义措施,现在朋友定义一个个输入参数的函数,代码如下:

中间代码在addActionListener措施中定义了一个实现了ActionListener接口的匿名内部管理类,代码中

在函数柯里化那偏离 ,朋友提到柯里化的multiplyBy函数输入单个参数,它后会会像这样柯里化的函数那样返回一个函数,只是 会报错,可能性都还能能 其返回函数得话,都还能能 定义其偏离 应用函数,代码如下:

5 fold函数

那那些是偏离 应用函数呢,所谓偏离 应用函数只是 指,当函数有多个参数,而在朋友使用该函数时朋友愿意提供所有参数(假设函数有还还有一个函数),只提供0~一个参数,此时得到的函数便是偏离 应用函数,定义上述print函数的偏离 应用函数代码如下:

2 flatMap函数

即通过(factor:Double)(x:Double)定义函数参数,该函数的调用措施如下:

Scala中的高阶函数都还能能 说是无处都这样,这点都还能能 在Scala中的API文档中得到验证,下图给出的是Array数组的都还能能 函数作为参数的API:



这种flatMap措施,下面是其API的详细内容:

在java的GUI编程中,在设置某个按钮的监听器的之后 ,朋友常常会使用下面的代码(利用scala进行代码开发):

3 filter函数

加进公众微信号,都还能能 了解更多最新Spark、Scala相关技术资讯

错误提示函数multiplyBy缺少参数,可能性要这样做得话,都还能能 将其定义为偏函数

那函数柯里化(curry)是为什么我样的呢?确实只是 将multiplyBy函数定义成如下形式

(2)返回值是函数的函数

在函数与闭包那一节中,朋友定义了下面一个多的一个函数

一个多得话,在进行GUI编程的之后 ,都还能能 省略非常多的样板代码,使代码更简洁。

4 reduce函数

Map类型:

List类型:

那现在朋友接着对偏函数进行介绍

上述代码都还能能 像一个多使用: