为什么不能链接模式匹配结构?例如,以下是合法的,如果荒谬的话,
val a = ADT(5)
val b = a match {
case ADT(a) if a > 4 => ADT(a * 3)
case ADT(a) => ADT(a + 1)
}
b match {
case ADT(a) if a > 13 => doSomething(a)
case _ => {}
}
但以下不是:
a match {
case ADT(a) if a > 4 => ADT(a * 3)
case ADT(a) => ADT(a + 1)
} match {
case ADT(a) if a > 13 => doSomething(a)
case _ => {}
}
我怀疑这是因为我一开始就不应该这样做,但原则上我不明白为什么它不合法。