Haskell - 如何修改现有函数值

时间:2017-04-24 13:40:21

标签: haskell

我有一个关于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

一点点的提示将不胜感激,因为它感觉像一个简单的问题,我找不到解决方案。谢谢!

1 个答案:

答案 0 :(得分:0)

也许看看http://learnyouahaskell.com/syntax-in-functions有帮助吗?将haskell函数看作数学函数,也没有赋值。

无论如何,您可以要求其他函数将值进行比较,例如在这种情况下,返回1

foo 0 1                    = 1
foo x y
  | otherfunction x y == 7 = 1
  | otherwise              = 0