因此,我搜索了在 Haskell 中处理“if”语句的不同方法,并对守卫有疑问,比如我有一个元组并想要执行 +,-,*,/ 检查条件:
给定 (x,y) if x < y only +,* 因为我只想要整数,此外检查除法以便 x mod
y == 0 与否,这可以编译但我不能让它运行
operaciones (x,y) = (x,y)
x,y | x < y = [(x, y, '+', x+y), (x, y, '*', x*y)]
| (x > y) && (x `mod ` y == 0) = [(x, y, '+', x+y), (x, y, '*', x*y), (x, y, '-', x-y) , (x, y, '/', x/y)]
| (x > y) && (x `mod ` y /= 0) = [(x, y, '+', x+y), (x, y, '*', x*y), (x, y, '-', x-y)]
| otherwise = [(x, y, '+', x+y), (x, y, '*', x*y), (x, y, '-', x-y) , (x, y, '/', x/y)]
我的想法来自
但失败,否则是如果 x == y