我有這樣的方法:定義Scala匿名函數時可以使用塊嗎?
def myMethod(value:File,x: (a:File) => Unit) = {
// Some processing here
// More processing
x(value)
}
我知道我可以把這個作爲:
myMethod(new File("c:/"),(x:File) => println(x))
是否有使用大括號的方式,我可以打電話了嗎?喜歡的東西:
myMethod(new File("c:/"),{ (x:File) =>
if(x.toString.endsWith(".txt")) {
println x
}
})
還是我必須寫在另一種方法,並傳遞到myMethod
?
運行第一個代碼片段時,出現以下錯誤:「(片段w.scala):23:錯誤:值x不是單元的成員」在行「println x」 – Geo
「println x」should println (x) – faran
謝謝!這工作!你能告訴我如何指定'x'的類型嗎? – Geo