5
У меня есть свободный метод побочных эффектов с аргументами по умолчанию, которые я хотел бы вызвать без круглых скобок, например .:Зачем нужны скобки для вызова методов с аргументами по умолчанию?
scala> def foo(x: Int = 1) = 42
foo: (x: Int)Int
scala> foo
<console>:9: error: missing arguments for method foo in object $iw;
follow this method with `_' if you want to treat it as a partially applied function
foo
^
scala> foo()
res3: Int = 42
Является ли это преднамеренным или просто временное ограничение?
я полагаю, но кажется, что в идеале в обычном случае (только один набор параметров), дополнительные круглые скобки будут позволил. –
Хм, это не описано в [SID] (http://docs.scala-lang.org/sips/completed/named-and-default-arguments.html), возможно, оно может быть добавлено/закрыто? Я не проверял spec ... –
В качестве обходного пути вы можете просто написать другой метод: 'def foo (x: Int = 1) = 42; def foo: Int = foo() ' –