什么是报价'
用于?我已经阅读了有关柯里化函数的内容,并阅读了定义 add 函数的两种方法 - 柯里化和非柯里化。咖喱版本...
myadd' :: Int -> Int -> Int
myadd' x y = x + y
...但即使没有引号,它也同样有效。那么这有什么意义呢?'
?
这句话对哈斯克尔来说毫无意义。它只是该函数名称的一部分。
人们倾向于将其用于“内部”功能。如果您有一个使用累加器参数对列表求和的函数,则您的 sum 函数将采用两个参数。这很丑,所以你做了一个sum'
两个参数的函数,和一个sum
一个 arg 的函数就像sum list = sum' 0 list
.
编辑,也许我应该只显示代码:
sum' s [] = s
sum' s (x:xs) = sum' (s + x) xs
sum xs = sum' 0 xs
你这样做是为了sum'
是尾递归的,因此“公共 API”看起来很漂亮。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)