是否有预先构建的函数来添加两个数组中的元素?

Zak*_*off 2 ruby

如果我有两个数组:

a = [1,2,3]
b = [2,3,4]
Run Code Online (Sandbox Code Playgroud)

是否有预先构建的函数来添加两个数组

c = a + b = [3,5,7]
Run Code Online (Sandbox Code Playgroud)

即添加数组中每个元素的值?

sep*_*p2k 10

不,没有一种方法可以解决这个问题.但你可以结合zipmap喜欢这样:

c = a.zip(b).map {|a,b| a+b}
Run Code Online (Sandbox Code Playgroud)


Alb*_*ini 6

我认为最接近你问的是:

[1,2,3].zip([2,3,4]).map{|x| x.reduce(:+)}
Run Code Online (Sandbox Code Playgroud)

它甚至可以用于更多阵列

[1,2,3].zip([2,3,4], [3,4,5], [4,5,6]).map{|x| x.reduce(:+)}
Run Code Online (Sandbox Code Playgroud)


Mar*_*mas 6

这看起来很像矢量添加.这是实现这一目标的一种方法:

require 'matrix'

a = Vector[1,2,3]
b = Vector[2,3,4]

puts a+b
#=> Vector[3,5,7]
Run Code Online (Sandbox Code Playgroud)

只需to_a在Vector上使用即可获得数组.