我想在Haskell模式匹配中使用一个表达式匹配许多条件。
例如,
data Message = HELLO | HI | GOODBYE | BYE
greeting x = case x of
HELLO or HI -> "hello"
GOODBYE or BYE -> "bye"
但是我找不到怎么做。
抱歉我的英语不好。 谢谢。答案 0 :(得分:4)
尝试守卫。前,
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的相关部分。