-1
個別のマッチングパターンについて質問があります。一致するパターンは、それぞれのケースが他のケースを踏んでいないときには互いに素である。個別パターンマッチング
def func(list: List[Int]): Int = list match {
case Nil => 0
case x::t if (x < func(t)) => x
case x::t => func(t)
}
私の質問:「場合」文はまた、これらのケースの互いに素であるかどうかを確認するためにカウントされますか? このようなパッチパターンがある場合は、最後のケースにも2番目のケースが含まれていることを意味し、とにかく途切れることはありません。しかし、最後のケースを
case x::t if (x >= func(t)) => func(t)
に変更すると、一致するパターンはばらばらに見えますか?