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

scala的模式匹配数量是否有任何限制?

发布时间:2020-12-16 18:40:29 所属栏目:安全 来源:网络整理
导读:我在 scala中遇到了一个奇怪的模式匹配问题.以下代码将抱怨编译错误.但如果我删除一个case语句,它将成功编译.所以有两件事困扰着我.一个是看起来scala的最大模式匹配数是9.另一个是错误消息,我没有在这个项目中使用sbt,我在另一个项目中使用它.有人可以帮帮
我在 scala中遇到了一个奇怪的模式匹配问题.以下代码将抱怨编译错误.但如果我删除一个case语句,它将成功编译.所以有两件事困扰着我.一个是看起来scala的最大模式匹配数是9.另一个是错误消息,我没有在这个项目中使用sbt,我在另一个项目中使用它.有人可以帮帮我吗?

The SBT builder crashed while compiling your project. This is a bug in
the Scala compiler or SBT. Check the Erorr Log for details. The error
message is: ch.epfl.lamp.fjbg.JCode$OffsetTooBigException: offset too
big to fit in 16 bits: 38092 scala Unknown Scala Problem

def main(args: Array[String]) {
    val list = List(1,2,3)

    import scala.collection.JavaConversions._
    val pattern_1 = """1""".r
    val pattern_2 = """1""".r
    val pattern_3 = """1""".r
    val pattern_4 = """1""".r
    val pattern_5 = """1""".r
    val pattern_6 = """1""".r
    val pattern_7 = """1""".r
    val pattern_8 = """1""".r
    val pattern_9 = """1""".r
    val pattern_10 = """1""".r

    "ffd,fa".split(",") foreach {
      case pattern_1() =>
      case pattern_2() =>
      case pattern_3() =>
      case pattern_4() =>
      case pattern_5() =>
      case pattern_6() =>
      case pattern_7() =>
      case pattern_8() =>
      case pattern_9() =>
    }
  }

解决方法

是.案件数量有限.但是,我相信这将通过2.10中的新 virtual pattern matcher来解决.

解决问题的最简单方法就是将模式匹配分成多个嵌套的匹配级别.

(编辑:李大同)

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

    推荐文章
      热点阅读