gpt4 book ai didi

ruby - 本地加入一个带有 block 的数组

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

有没有一种本地方法可以将数组的所有元素连接成一个唯一的元素,如下所示:

[
{a: "a"},
{b: "b"}
].join do | x, y |
x.merge(y)
end

输出类似的东西:

{
a: "a",
b: "b"
}

我在数组中使用哈希就是一个例子,我可以说:

[
0,
1,
2,
3
].join do | x, y |
x + y
end

6 作为值结束。

最佳答案

Enumerable#inject涵盖这两种情况:

a = [{a: "a"}, {b: "b"}]
a.inject(:merge) #=> {:a=>"a", :b=>"b"}
b = [0, 1, 2, 3]
b.inject(:+) #=> 6

inject 使用提供的方法对数组“求和”。第一种情况下,sum 和当前元素的“相加”是通过合并完成的,第二种情况是通过相加完成的。

如果数组为空,inject 返回nil。要使其返回其他内容,请指定一个初始值(感谢@Hellfar):

[].inject(0, :+) #=> 0

关于ruby - 本地加入一个带有 block 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41105581/

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