match 式の連鎖はコンパイルされません。
val x = Array("abc", "pqr")
x match {
case Array("abc", _*) => Some("abc is first")
case Array("xyz", _*) => Some("xyz is first")
case _ => None
} match {
case Some(x) => x
case _ => "Either empty or incorrect first entry"
}
以下は正常にコンパイルされますが:
(x match {
case Array("abc", _*) => Some("abc is first")
case Array("xyz", _*) => Some("xyz is first")
case _ => None
}) match {
case Some(x) => x
case _ => "Either empty or incorrect first entry"
}
後のバージョン (最初の一致式が括弧内にある) は正常にコンパイルされるのに、以前のバージョンではコンパイルされないのはなぜですか?