我正在使用foreach
样式方法,并为自己创建了这个似乎很难调用的方法:
scala> def fun(i: Int => Unit, j: Int => Unit) {
| i(1)
| j(2)
| }
fun: (i: Int => Unit, j: Int => Unit)Unit
我的多次尝试都未能创建有效的呼叫。
什么可能是语法上有效的调用fun
?
我正在使用foreach
样式方法,并为自己创建了这个似乎很难调用的方法:
scala> def fun(i: Int => Unit, j: Int => Unit) {
| i(1)
| j(2)
| }
fun: (i: Int => Unit, j: Int => Unit)Unit
我的多次尝试都未能创建有效的呼叫。
什么可能是语法上有效的调用fun
?
明确而冗长的例子可能是:
fun({x => println(x)}, {y => println(y)})
但实际上你可以缩短我写的很多代码(正如@PabloFalabella所说)并编写如下内容:
fun(println,println)
这不仅适用于 println,而且适用于任何其他函数(好吧,只要它与签名匹配):
def fun(i: (Int,Int) => Unit, j: Int => Unit) { i(1, 2); j(2) }
def printSum(x: Int, y: Int) = println(x + y)
scala> fun(printSum, println)
3
2