blob: f62b2df6b4aab649929961de7abbd45543f4e995 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
object Test {
def main(args: Array[String]): Unit = {
var test: String = null
val fun1: Int => () => Unit = foo(test) _
val fun2: Int => () => Unit = foo(test)(_)
val fun3: Int => () => Unit = {
lazy val eta1: String = test
(dummy: Int) => foo(eta1)(dummy)
}
val fun4: Int => () => Unit = {
val eta1: () => String = () => test
(dummy: Int) => foo(eta1())(dummy)
}
test = "some string"
fun1(1)()
fun2(1)()
fun3(1)()
fun4(1)()
val f: (String, Int*) => Unit = m(2, 3)
f("", 5, 6)
}
def foo(s: => String)(dummy: Int) = () => println(s)
def m(a: Int*)(z: String, b: Int*) {
println(a.toList)
println(b.toList)
}
}
|