2013-03-01 139 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 
:从参数单独声明的类型