gpt4 book ai didi

scala - 支撑或不支撑 : case statement block

转载 作者:行者123 更新时间:2023-12-04 13:19:16 26 4
gpt4 key购买 nike

我在这里提出一个具体问题(不是意见):是否有针对以下“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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com