Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何调用这两个参数的方法?_Scala - Fatal编程技术网

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

Scala 如何调用这两个参数的方法?,scala,Scala,我正在玩弄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)},

我正在玩弄
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,也适用于任何其他函数(只要它与签名匹配):


例如:
fun({x=>println(x)},{y=>println(y)})
thank you@om nom nom。。。我现在明白了,这应该也行:
fun(println,println)
。它与
fun(println(uu),println(u))
相同,它只是
fun(x=>println(x),y=>println(y))的语法糖。
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