我有一个关于Haskell的基本问题让我难以理解,因为我不熟悉函数式编程。
我有简单的功能,例如
foo 1 1 = 0
foo 1 2 = 1
foo 2 1 = 1
foo 2 2 = 0
我希望通过另一个函数根据条件更改函数值(例如,如果值为1,则从1到0)。我怎样才能做到这一点?我是从python中出来的,并且在某种程度上陷入了思维方式,我可以简单地在函数体中分配新值。
我正在尝试这方面的事情:changeValue x y
|(foo x y == 1) = foo x y = 0
一点点的提示将不胜感激,因为它感觉像一个简单的问题,我找不到解决方案。谢谢!
答案 0 :(得分:0)
也许看看http://learnyouahaskell.com/syntax-in-functions有帮助吗?将haskell函数看作数学函数,也没有赋值。
无论如何,您可以要求其他函数将值进行比较,例如在这种情况下,返回1
:
foo 0 1 = 1
foo x y
| otherfunction x y == 7 = 1
| otherwise = 0