加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 支持或不支持:case语句块

发布时间:2020-12-16 19:10:17 所属栏目:安全 来源:网络整理
导读:我在这里问一个具体的问题(不是意见):是否有任何 scala风格的指南推荐以下“案例o:”解决是否要避免(可选)使用大括号或是否有/无接受: def mycase(x : Int) = { x match { case 0 = println("zero") println("blah zero") case 1 = println("one") } 我最
我在这里问一个具体的问题(不是意见):是否有任何 scala风格的指南推荐以下“案例o:”解决是否要避免(可选)使用大括号或是否有/无接受:

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).

解决方法

关于这个 http://docs.scala-lang.org/style/control-structures.html#curly-braces的Scala风格指南似乎发生了变化,它说

case – Always omit braces in case clauses.

实际上,在IntelliJ中进行编辑时,它会提醒用户在case块周围不必要的括号.

因此,为了避免对用户造成进一步的混淆,请对接受的答案进行更正:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读