, учитывая следующие конструкции для определения функции в Scala, можете ли вы объяснить, какая разница, и какие последствия будут?
def foo = {}
против.
def foo() = {}
Обновление
Спасибо за быстрые ответы. Это здорово. Единственный вопрос, который остается для меня, это:
Если я пропущу скобки, есть еще способ пройти функцию вокруг? Это то, что я получаю в reft:
scala> def foo = {}
foo: Unit
scala> def baz() = {}
baz: ()Unit
scala> def test(arg: () => Unit) = { arg }
test: (arg: () => Unit)() => Unit
scala> test(foo)
:10: error: type mismatch;
found : Unit
required: () => Unit
test(foo)
^
scala> test(baz)
res1: () => Unit =
Обновление 2012-09-14
Вот несколько подобных вопросов, которые я заметил: