gpt4 book ai didi

haskell - 您对辅助函数的命名约定是什么?

转载 作者:行者123 更新时间:2023-12-04 02:32:13 26 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.


1年前关闭。







Improve this question




在函数式编程中,将任何“循环”代码优化为尾递归通常很重要。然而,尾递归算法通常分为两个函数 - 一个设置基本情况,另一个实现实际循环。一个好的(尽管是学术的)例子是反向函数。

reverse :: [a] -> [a]
reverse = reverse_helper []

reverse_helper :: [a] -> [a] -> [a]
reverse_helper result [] = result
reverse_helper result (x:xs) = reverse_helper (x:result) xs

“reverse_helper”并不是一个很好的描述性名称。但是,“reverse_recursive_part”很尴尬。

对于这样的辅助函数,您会使用什么命名约定?

最佳答案

您可以随心所欲地调用辅助函数,只要您不将辅助函数放在“全局”命名空间中,这无关紧要。简单地添加一个“素数”似乎是一种常见的做法。 :) 例如,在 Haskell 中,

reverse :: [a] -> [a]
reverse = reverse' []
where reverse' :: [a] -> [a] -> [a]
reverse' result [] = result
reverse' result (x:xs) = reverse' (x:result) xs

关于haskell - 您对辅助函数的命名约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/418120/

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