В чем формальная разница между передачей аргументов функциям в скобках ()
и фигурных скобках {}
?
Ощущение, которое я получил от книги " Программирование в 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 }
=> хорошо.