gpt4 book ai didi

ruby - 记住如何调用 ruby​​ inject 的助记符是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 07:45:19 24 4
gpt4 key购买 nike

我永远不记得它是不是

array.inject{|memo,obj| block}

array.inject{|obj,memo| block}

有没有人有记住顺序的好技巧?

最佳答案

inject/reduce 只不过是一个 left fold (因此在其他语言中称为 foldl/foldLeft),就是这样,元素与二元运算符的递归 left-associative 组合:

(1..5).reduce(:+) == (((1 + 2) + 3) + 4) + 5 #=> true
(1..5).reduce(:-) == (((1 - 2) - 3) - 4) - 5 #=> true

因此,累加器作为 block 的左/第一个参数传递是很自然的。在正确的折叠中,累加器将是正确的/第二个参数。

不是真正的助记符,但是一旦您意识到 reduce 是左折叠,您就不会忘记累加器的位置。

关于ruby - 记住如何调用 ruby​​ inject 的助记符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16202980/

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