什么是报价'
用于?我已经阅读了 curried 函数并阅读了两种定义 add 函数的方法 - curried 和 uncurried。 curry 版...
myadd' :: Int -> Int -> Int
myadd' x y = x + y
...但如果没有报价,它也同样有效。那么
'
的意义何在? ?
最佳答案
这句话对 Haskell 毫无意义。它只是该函数名称的一部分。
人们倾向于将其用于“内部”功能。如果您有一个使用累加器参数对列表求和的函数,那么您的 sum 函数将采用两个参数。这很难看,所以你做一个 sum'
两个 args 和一个 sum
的函数一个 arg 的函数,如 sum list = sum' 0 list
.
编辑,也许我应该只显示代码:
sum' s [] = s
sum' s (x:xs) = sum' (s + x) xs
sum xs = sum' 0 xs
你这样做是为了
sum'
是尾递归的,因此“公共(public) API”看起来很漂亮。
关于haskell - Haskell函数名中'的含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1207649/