将参数传递给括号()
和花括号{}
中的函数之间的形式区别是什么?
我从 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 }
= >好。