我在这里提出一个具体问题(不是意见):是否有针对以下“case o:”的 scala 风格指南建议,以解决是否要避免(可选)使用大括号,或者是否可以接受有/没有大括号:
def mycase(x : Int) = {
x match {
case 0 =>
println("zero")
println("blah zero")
case 1 =>
println("one")
}
我最初并不相信它甚至会起作用(认为它可能会失败):但它确实进行了正确的突破:
scala> mycase(0)
zero
blah zero
我特别想知道是否有一个规范的答案(不是“我喜欢”等)。例如。对于 Java,Sun 很久以前就说过,将方法的初始大括号放置在同一行或下一行可能发生 - 两者都是可以接受的。在这种情况下有这么明确的答案吗?
更新 @acjay 在下面提供的答案提供了指向样式指南的链接。这里有一个特定的简介。
来自 http://docs.scala-lang.org/style/control-structures.html#curlybraces
case - Omit braces if the case expression fits on a single line. Otherwise, use curly braces for clarity (even though they are not required by the parser).
最佳答案
关于此的 Scala 风格指南 http://docs.scala-lang.org/style/control-structures.html#curly-braces似乎 已更改 ,它说
case - Always omit braces in case clauses.
实际上,在 IntelliJ 中编辑时,它会提醒用户在 case 块周围使用不必要的大括号。
因此,为避免给用户带来进一步的混淆,请对已接受的答案进行更正:)
关于scala - 支撑或不支撑 : case statement block,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23836619/