设为首页 加入收藏

TOP

Scala 函数式编程(二)
2019-09-03 03:46:48 】 浏览:187
Tags:Scala 函数 编程
on("Click")

button.addActionListener(new ActionListener {

  override def actionPerformed(event: ActionEvent) {

    println("Click Me!!!")

  }

})

 

implicit def getActionListener(actionProcessFunc: (ActionEvent) => Unit) = new ActionListener {

  override def actionPerformed(event: ActionEvent) {

    actionProcessFunc(event)

  }

}

button.addActionListener((event: ActionEvent) => println("Click Me!!!"))

 

 

Currying函数

// Curring函数,指的是,将原来接收两个参数的一个函数,转换为两个函数,第一个函数接收原先的第一个参数,然后返回接收原先第二个参数的第二个函数。

// 在函数调用的过程中,就变为了两个函数连续调用的形式

// Spark的源码中,也有体现,所以对()()这种形式的Curring函数,必须掌握!

 

def sum(a: Int, b: Int) = a + b

sum(1, 1)

 

def sum2(a: Int) = (b: Int) => a + b

sum2(1)(1)

 

def sum3(a: Int)(b: Int) = a + b

 

Return

 

// Scala中,不需要使用return来返回函数的值,函数最后一行语句的值,就是函数的返回值。在Scala中,return用于在匿名函数中返回值给包含匿名函数的带名函数,并作为带名函数的返回值。

// 使用return的匿名函数,是必须给出返回类型的,否则无法通过编译

 

def greeting(name: String) = {

  def sayHello(name: String):String = {

    return "Hello, " + name

  }

  sayHello(name)

}

 

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇scala 函数式编程之集合操作 下一篇Scala 基础语法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目