首先,我正在阅读的Real World Haskell建议永远不要使用foldl
,而要使用foldl'
。所以我相信它。
但我不清楚什么时候使用foldr
,什么时候使用foldl'
。虽然我可以看到它们的不同工作结构摆在我面前,但我太愚蠢了,不知道什么时候“哪个更好”。我猜在我看来,使用哪一个并不重要,因为它们都产生了相同的答案(不是吗?)。事实上,我之前使用这个结构的经验来自于Ruby的inject
和reduce
,它们似乎没有“左”和“右”版本。(附带问题:他们使用的是哪个版本?)
任何可以帮助像我这样的聪明挑战的人的洞察力都将不胜感激!
https://stackoverflow.com/questions/384797
复制相似问题