У меня странная ситуация, которую я не понимаю. Я читаю книгу "Программирование в Scala", гл. 9.
Допустим, у меня есть функция карри:
def withThis(n:Int)(op:Int=>Unit){
println("Before")
op(n);
println("After")
}
Когда я вызываю его с одним аргументом внутри специального фигурного синтаксиса, он работает как положено:
withThis(5){
(x) => {println("Hello!"); println(x); }
}
// Outputs
Before
Hello!
5
After
Однако, если я поставлю два утверждения, я получу нечто странное:
withThis(5){
println("Hello!")
println(_)
}
// Outputs
Hello!
Before
5
After
Как получилось "Привет!" печатается до "До", а затем "5" печатается внутри? Я сумасшедший?