7
匹配作为后续this问题正则表达式格局,斯卡拉第二部分
下面是一些编译和运行正常,使用捕捉代码。
val myString = "ACATCGTAGCTGCTAGCTG"
val nucCap = "([ACTG]+)".r
myString match {
case nucCap(myNuc) => println("dna:"+myNuc)
case _ => println("not dna")
}
>scala scalaTest.scala
dna:ACATCGTAGCTGCTAGCTG
这里是更简单的代码,没有捕获,不编译。
val myString = "ACATCGTAGCTGCTAGCTG"
val nuc = "[ACGT]+".r
myString match {
case nuc => println("dna")
case _ => println("not dna")
}
>scala scalaTest.scala
scalaTest.scala:7: error: unreachable code
似乎匹配应该返回布尔值,无论是否使用捕获。 这是怎么回事?
不是挑剔的,但为什么它说默认情况是不可达的(case _ => println(“不是dna”)) –
我错过了我的答案 - 现在更新它来解释这一点。 –