4

このコードを実行すると、print("it is greater than zero")実行されるだけですが、true の場合が 2 つあります。fallthroughキーワードを使用しようとしましたが、false であっても次のケースブロックを実行します。

これにより、別の質問が発生します。いつfallthroughキーワードを使用する必要がありますか? 次のブロックを強制的に実行したい場合、コードを同じブロックに挿入しないのはなぜfallthroughですか?

以下の例で、true と評価されるすべてのケースを出力し、false と評価されるすべてのケースを除外する方法はありますか?

let number = 1

switch number {
case _ where number > 0:
    print("it is greater than zero")
case _ where number < 2:
    print("it is less than two")
case _ where number < 0:
    print("it is less than zero")
default:
    print("default")
}

回答ありがとうございます。

4

2 に答える 2