2013-04-05 282 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 _