为什么scala不能接收元组作为函数参数
发布网友
发布时间:2022-05-01 02:32
我来回答
共1个回答
热心网友
时间:2022-06-22 14:46
从实验的现象上看,第二次调用的println("hi") 并没有被定义在函数体内:
第一次调用,相当于:
scala> val f1 = (i:Int) => { println("hi"); println(i) }
f1: Int => Unit = <function1>
scala> fun(f1)
hi
10
hi
20
第二次调用,相当于:
scala> val f2: (Int) => Unit = {println("hi");println(_)}
hi
f2: Int => Unit = <function1>
scala> fun(f2)
10
20
第二次调用打印hi的地方是在定义f2这个函数的地方,而不是在fun(f2)内
具体原因我也解释不了