2

我想用 Haskell 模式匹配中的一个表达式匹配许多条件。

例如,

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 回答