Haskell のパターン マッチングで、複数の条件を 1 つの式で一致させたい。
例えば、
data Message = HELLO | HI | GOODBYE | BYE
greeting x = case x of
HELLO or HI -> "hello"
GOODBYE or BYE -> "bye"
しかし、これを行う方法が見つかりません。
私の下手な英語でごめんなさい。ありがとうございました。
Haskell のパターン マッチングで、複数の条件を 1 つの式で一致させたい。
例えば、
data Message = HELLO | HI | GOODBYE | BYE
greeting x = case x of
HELLO or HI -> "hello"
GOODBYE or BYE -> "bye"
しかし、これを行う方法が見つかりません。
私の下手な英語でごめんなさい。ありがとうございました。
ガードを試してください。元、
data Message = HELLO | HI | GOODBYE | BYE deriving (Eq)
greeting x
| x == HELLO || x == HI = "hello"
| x == GOODBYE || x == BYE = "bye"
Eq
データ型のインスタンスを派生させる必要があることに注意してください。Learn you a Haskellの関連セクションを確認してください。