代码之家  ›  专栏  ›  技术社区  ›  Synesso

如何在案例陈述中引用VAL?

  •  4
  • Synesso  · 技术社区  · 14 年前

    我早上过得很慢。我认为在case语句中引用现有的val是可以的。但它似乎被解释为局部变量定义。一个简单的谷歌搜索没有帮助,我也没有我的楼梯手册。

    在下面的内容中,允许我匹配大小写(b,c)的语法是什么?

    scala> val (a,b,c) = (1,2,3)
    a: Int = 1
    b: Int = 2
    c: Int = 3
    
    scala> (2,3) match {
         | case (a,b) => 100
         | case (b,c) => 200
         | case _ => 999
         | }
    <console>:8: error: unreachable code
           case (b,c) => 200
    
    1 回复  |  直到 14 年前
        1
  •  11
  •   Moritz    14 年前

    你要么把 val 或者您必须将标识符放在倒勾中,如下所示:

      case (`b`, `c`) => 200