我对 Haskell 点运算符的事情感到困惑。我所读到的是,它基本上创建了一个由其他 2 个函数组成的新函数。例如。:
f(g x) = f . g
(省略参数)
但是,如果我也省略了点会有什么区别?喜欢:
f . g =? f g
因为在这两种情况下 g 都将应用于传递给它的参数,然后 f 将应用于该结果。
所以我没有看到这两者之间的区别,但也许有区别,或者当它更复杂时会有区别?但我现在看不到它,所以如果有人能帮助我解决这个问题,我将不胜感激!
此致,
天飞。
最佳答案
表达方式
h = f . g
创建一个新函数 h(...),即 f(g(...))。这甚至可以在不调用
f
的情况下完成。然而,h = f g
将
g
传递给 f
并将其结果分配给 h
。在这种情况下,在评估 f
时会调用 h
。关于Haskell 点运算符 : what difference does it make exactly?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26107653/