Ruby-使用另一个数组从一个数组中添加/减去元素

sub*_*man 6 ruby arrays matrix subtraction addition

我这样做:

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

我得到了这个答案 - > [1]
我想要这个答案 - > [1,1,1,1](像矩阵加/减)

我试过这个:

c.each {|e| c[e] = b[e] - a[e]}  
Run Code Online (Sandbox Code Playgroud)

但我得到了这个答案: [1,0,0,0]

有人能给我一个正确的方法吗?非常感谢!

Tod*_*ell 16

你可以使用zip:

a.zip(b).map { |x, y| y - x }
# => [1, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)

还有一个Matrix类:

require "matrix"

a = Matrix[[1, 2, 3, 4]]
b = Matrix[[2, 3, 4, 5]]
c = b - a
# => Matrix[[1, 1, 1, 1]]
Run Code Online (Sandbox Code Playgroud)