将此函数转换为匿名函数

时间:2013-04-05 21:09:35

标签: function scala functional-programming

如何创建此函数,如果匿名函数的数字为5,则返回true:

def yeah_five(p: Int): Boolean = p == 5

感谢?

4 个答案:

答案 0 :(得分:1)

匿名函数的简短表示法:

(p: Int) => (p == 5);

长版:

new Function1[Int] {
  def apply(p: Int): Int = p == 5
}

答案 1 :(得分:0)

您需要一个采用整数并返回布尔值

的函数
(p: Int) => (p == 5);

阅读有关anonymous函数的教程。

答案 2 :(得分:0)

我想最简单的写法就是这样:

val f: Int => Boolean = (_ == 5)

当然,根据上下文,您可以松开类型注释:

List(1, 2, 3, 5, 4, 5).filter(_ == 5)

=> List(5, 5)

根据@ Senia的观察,你可以更加熟练地使用5==将对象5的==方法转换为函数。

val g: Int => Boolean = 5==
List(1, 2, 3, 5, 4, 5).filter(g) => List(5, 5)

答案 3 :(得分:0)

如果您想将已声明的方法转换为函数,请执行此操作

yeah_five _