2

Haskell のパターン マッチングで、複数の条件を 1 つの式で一致させたい。

例えば、

data Message = HELLO | HI | GOODBYE | BYE

greeting x = case x of
  HELLO or HI          -> "hello"
  GOODBYE or BYE   -> "bye"

しかし、これを行う方法が見つかりません。

私の下手な英語でごめんなさい。ありがとうございました。

4

1 に答える 1

5

ガードを試してください。元、

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の関連セクションを確認してください。

于 2012-05-19T09:05:22.060 に答える