2013-03-01 141 views
10

如何在scala中定義一個帶名稱參數的匿名函數?帶名稱參數的函數文字

我試過如下:

val fun = (x: Boolean, y: =>Int) => if(x) y else 0 

這與呼叫按值y效果很好,但不能與調用式的名稱。爲什麼?

回答

18

這是可以做到的,但在一個稍微不同的方式:

val fun: (Boolean, => Int) => Int = (x, y) => if (x) y else 0 
:從參數單獨聲明的類型