В 1-м случае приписывание типа помогает компилятору выяснить, что символы подчеркивания должны представлять: 2 Double
значения.(Что делает .toDouble
приведение лишним и бессмысленным.)
2-й случай не компилируется, потому что не хватает подсказок, чтобы помочь компилятору.
Вы можете это исправить ...
val result1 :FTDoubleDouble_Double = _ / _
... но возникает другая проблема.
scala.math.log(result1) //error
math.log()
принимает Double
в качестве переданного параметра, который вы не задаете
Возможно, это то, что вы хотите:
val _dividedByThenLog: FTDoubleDouble_Double =
(d1 :Double, d2 :Double) => scala.math.log(d1 / d2)