Давайте определим f
, функция, которая поддерживает Карринг:Почему умозаключение двигателю нужен явный вид с выделкой
def f(a: Int)(b: Int) = a + b
Этот код не компилируется
def g= f(1)
<console>:10: error: missing arguments for method f;
follow this method with `_' if you want to treat it as a partially applied function
def g= f(1)
Я нашел эти 2 обходных пути:
scala> def h = f(1) _
h: Int => Int
scala> def i : Int => Int = f(1)
i: Int => Int
Но я не понимаю, почему движок вывода нуждается в помощи в тривиальном порядке так?