我在Scala中發現了一個共同的趨勢是這樣的:如何在Scala中實現OCaml/F#的「函數」構造?
def someFunction(a: SomeClass) = a match { ... }
從那裏上a
是永遠不會再使用過。這種模式在FP中非常常見,OCaml和F#都有一個內置的構造,可以完全拋棄該參數。
而不是寫這個的:
let someFunction a =
match a with
| 0 -> true
| _ -> false
你可以簡單地寫:
let someFunction =
function
| 0 -> true
| _ -> false
所以我的問題是,是否有可能寫的Scala這樣的事情?
def someFunction = function {
case 0 => true
case _ => false
}
保存一個否則不必要的參數。
我試圖把它寫成一個函數,它需要一個名稱調用參數,但斯卡拉不會讓我做一個空的match
塊。
可能嗎?或者斯卡拉也許已經有這樣的內置東西?
甚至比以前更乾淨,我很驚訝我沒有想到這個... –