这是我的代码:
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”?但有多个价值观。任何帮助将不胜感激
答案 0 :(得分:5)
您可以使用具有不同匹配功能的保护语法:
fct' x a b
| x `elem` [1, 3, 8] = a + b
| otherwise = a - b