Haskellで次のことを行う有効な方法はありますか:
case n of
0 -> doThis
1 -> doThat
2 -> doAnother
3..99 -> doDefault
「doDefault」の97行を持っている以外に?
case n of
0 -> doThis
1 -> doThat
2 -> doAnother
_ -> doDefault
本当に範囲が必要な場合は、
case n of
0 -> doThis
1 -> doThat
2 -> doAnother
x | 3 <= x && x < 100 -> doDefault
_ -> reallyDoDefault
警備員を使う!;)
Foo n
| n == 0 = doThis
| n == 1 = doThat
| n == 2 = doAnother
| (n >= 3 ) && (n <= 99) = doDefault
また
| n `elem` [3..99] = doDefault
デフォルトのケースを _ パターンにすることができると思います。これは何にでも一致します。
case n of
0 -> doThis
1 -> doThat
2 -> doAnother
_ -> doDefault
そこの範囲の上限をチェックしないため、それがあなたが探しているものであるかどうかはわかりません...代わりにガードを使用することをお勧めします。