В чем формальная разница между фигурными скобками и скобками в Scala и когда их следует использовать?

В чем формальная разница между передачей аргументов функциям в круглых скобках () и в фигурных скобках { } ?

Из книги Programming in Scala у меня возникло ощущение, что Scala довольно гибкая, и я должен использовать тот, который мне больше нравится, но я считаю, что некоторые случаи компилируются, а другие нет. т.

Например (только в качестве примера; Я был бы признателен за любой ответ, в котором обсуждается общий случай, а не только этот конкретный пример):

val tupleList = List[(String, String)]()
val filtered = tupleList.takeWhile( case (s1, s2) => s1 == s2 )

=> ошибка: недопустимое начало простого выражения

val filtered = tupleList.takeWhile{ case (s1, s2) => s1 == s2 }

=> нормально.

317
задан Peter Mortensen 1 May 2013 в 09:41
поделиться