功能与文字的call-by-name参数(Function literal with call-by

2019-08-17 06:29发布

如何定义与Scala中的call-by-名称参数的匿名函数?

我试过如下:

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

这与呼叫按值y效果很好,但不能与调用式的名称。 为什么?

Answer 1:

这是可以做到的,但在一个稍微不同的方式:从参数单独声明的类型:

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


文章来源: Function literal with call-by-name parameter
标签: scala