如何调用这两个参数的方法?

时间:2013-07-31 11:44:10

标签: scala

我正在使用foreach样式方法,并自己创建了这个看起来很难调用的方法:

scala> def fun(i: Int => Unit, j: Int => Unit) {
     | i(1)
     | j(2)
     | }
fun: (i: Int => Unit, j: Int => Unit)Unit

我的多次尝试未能创建有效的呼叫。

fun的语法有效调用是什么?

1 个答案:

答案 0 :(得分:2)

明确而冗长的例子可能是:

fun({x => println(x)}, {y => println(y)})

但实际上你可以缩短我编写的很多代码(如@PabloFalabella said)并编写如下内容:

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