Интересно, можете ли вы прокомментировать, почему следующие два сценария ведут себя по-разному:
Следующие работы:
var la= List(12, 13 , 14 ,15);
var func = (x:Int) => println(x)
la.foreach(func) // 1
la.foreach(func(_)) // 2
Но нет следующего:
var la= List(12, 13 , 14 ,15);
var func1 = (x:Int) => {
for (i <- 0 to x) yield i*2
} mkString
la.foreach(println(func1)) // similar to 1 above
la.foreach(println(func1(_))) // similar to 2 above
ошибка: несоответствие типов; найдено : Требуемая единица измерения: Int => ? la.foreach(println(func1(_)))