Ответ 1
Это можно сделать, но несколько иначе: объявить тип отдельно от параметров:
val fun: (Boolean, => Int) => Int = (x, y) => if (x) y else 0
Как определить анонимную функцию с параметрами по имени в scala?
Я попробовал следующее:
val fun = (x: Boolean, y: =>Int) => if(x) y else 0
Это хорошо работает с вызовом y, но не с вызовом по имени. Почему?
Это можно сделать, но несколько иначе: объявить тип отдельно от параметров:
val fun: (Boolean, => Int) => Int = (x, y) => if (x) y else 0