Такие выражения, как
ls map (_ + 1) sum
прекрасны, потому что они расположены слева направо и не вложены друг в друга. Но если рассматриваемые функции определены вне класса, это менее красиво.
Следуя примеру, я попробовал
final class DoublePlus(val self: Double) {
def hypot(x: Double) = sqrt(self*self + x*x)
}
implicit def doubleToDoublePlus(x: Double) =
new DoublePlus(x)
который отлично работает, насколько я могу судить, кроме
Много печатать для одного метода
Вы должны знать заранее, что вы хотите использовать его таким образом
Есть ли трюк, который решит эти две проблемы?
hypot(3,4)
? Кажется, лучший выбор здесь. - person IttayD   schedule 29.08.2011