gpt4 book ai didi

ruby - 注入(inject)方法如何工作?

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:32 25 4
gpt4 key购买 nike

我是 Ruby 的初学者,我遇到了一个代码片段,其中包含以下内容:

def add(*nums)
nums.inject(&:+)
end

例子:

add(1, 2)
#=> 3
add(1, 2, 3, 4)
#=> 10

代码片段是如何工作的?

最佳答案

如文档中所述:https://apidock.com/ruby/Enumerable/inject

注入(inject):

Combines all elements of enum by applying a binary operation, specified by a block or a symbol that names a method or operator.

您可以像这样将它与 enumerable(array, range, ..) 一起使用,

[1, 2, 3].inject { |sum, number| sum + number }

或简写样式,

[1, 2, 3].inject(&:+)

如果你想知道这个 (&:+) 以及它是如何工作的,也可以检查一下,

What do you call the &: operator in Ruby?

关于ruby - 注入(inject)方法如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47584899/

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