首先,我正在阅读的Real World Haskellfoldl
说永远不要使用,而是使用foldl'
. 所以我相信它。
但我不清楚何时使用foldr
vs. foldl'
. 虽然我可以看到它们在我面前展示的不同工作方式的结构,但我太愚蠢了,无法理解什么时候“哪个更好”。我想在我看来,使用哪个并不重要,因为它们都产生相同的答案(不是吗?)。事实上,我之前对这种构造的经验来自 Rubyinject
和 Clojure 的reduce
,它们似乎没有“左”和“右”版本。(附带问题:他们使用哪个版本?)
任何可以帮助像我这样聪明的人的见解将不胜感激!