2013-04-05 267 views
0

如何创建这个功能,如果一个数为5〜匿名函数返回true:转换此功能匿名函数

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

感谢?

+0

哪些功能?代码示例中没有功能。 – 2013-04-06 07:34:38

回答

1

短符号为匿名函数:

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

龙版本:

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

更短的是(_:Int)== 5 – 2013-04-09 00:51:55

0

你想要一个函数,它接受一个整数并返回一个布尔

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

阅读本教程上anonymous功能。

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) 
+0

如果你想要最短的方式:'List(1,2,3,5,4,5).filter(5 ==)' – senia 2013-04-05 21:26:16

+0

@senia谢谢,没有跨过我的脑海。我会在你的观察结果中更新我的答案,如果它对你有用 – 2013-04-05 21:34:49

+0

@ alex23这是部分应用,是的。 – 2013-04-05 21:37:23

0

如果你想打开一个已经声明的方法给函数,这样做

yeah_five _