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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |