在Haskell中具有相同指令的多个案例

时间:2016-01-27 08:45:00

标签: haskell

这是我的代码:

fct 1 a b = a+b 
fct 3 a b = a+b
fct 8 a b = a+b
fct x a b = a-b  `for the rest : 2,4,5,6,7,9..16`

我的问题是,有没有办法将3个第一行合并,因为它们做同样的事情,比如“case x of”?但有多个价值观。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:5)

您可以使用具有不同匹配功能的保护语法:

fct' x a b
  | x `elem` [1, 3, 8] = a + b
  | otherwise = a - b