加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 本地加入一个带有块的数组

发布时间:2020-12-17 03:42:44 所属栏目:百科 来源:网络整理
导读:是否有一种本机方式将数组的所有元素连接到一个独特的元素,如下所示: [ {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 + yend 结果
是否有一种本机方式将数组的所有元素连接到一个独特的元素,如下所示:

[
  {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,3]
b.inject(:+) #=> 6

使用提供的方法对数组进行“求和”.在第一种情况下,总和和当前元素的“加法”通过合并完成,而在第二种情况下,通过加法完成.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读