gpt4 book ai didi

Haskell 加法运算

转载 作者:行者123 更新时间:2023-12-03 23:22:23 25 4
gpt4 key购买 nike

Codefights挑战您必须将两个数字相加的用户 kaiochao有一个 super 简约的答案

add = (+)

它是如何工作的,并且这个功能有自己的名字?

最佳答案

这是一个明确的定义:

add a b = a + b

Haskell 中有一个特性说我们可以重写 a + b(+) a b ,这是因为运算符是 Haskell 中的函数。所以我们可以重写:
add a b = (+) a b

但是我们没有对这个函数的参数做任何额外的处理,所以我们可以通过删除显式参数*来减少这个函数。请注意,这需要了解 Haskell 中的函数应用程序是如何工作的:
add = (+)

这是因为函数是 Haskell 中的数据。字面意思是 plus和加法的功能是一回事。

在实践中,我们可以通过替换来看到这一点:
  add 1 2
= (+) 1 2 -- Since add = (+), this can be read literally.
= 1 + 2 -- This is how operators work in Haskell.
= 3 -- Calculation.

这在 Haskell 中称为 pointfree 风格。

*作为 @Benjamin Hodgson提到,这叫做 eta-reduction .

关于Haskell 加法运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46890091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com