将参数传递给括号()和括号中的函数有什么形式上的区别{}?
我从Scala编程书中得到的感觉是Scala非常灵活,我应该使用我最喜欢的那个,但我发现有些情况是编译而有些情况则没有.
例如(仅作为一个例子;我很感激任何讨论一般情况的反应,而不仅仅是这个特定的例子):
val tupleList = List[(String, String)]()
val filtered = tupleList.takeWhile( case (s1, s2) => s1 == s2 )
Run Code Online (Sandbox Code Playgroud)
=>错误:非法启动简单表达式
val filtered = tupleList.takeWhile{ case (s1, s2) => s1 == s2 }
Run Code Online (Sandbox Code Playgroud)
=>很好.