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

Ruby-使用另一个数组添加/减去一个数组中的元素,ruby,arrays,matrix,addition,subtraction,Ruby,Arrays,Matrix,Addition,Subtraction,我这样做: a = [1,2,3,4] b = [2,3,4,5] c = b - a put c 我明白了 答案->[1] 我想要这个答案->[1,1,1,1](比如矩阵加减法) 我试过这个: c.each {|e| c[e] = b[e] - a[e]} 但我得到了这个答案:[1,0,0,0] 有人能给我一个正确的方法吗?非常感谢 您可以使用: 还有一个类: 您可以使用带有索引的和映射的每个 c = b.each_with_index.map { |n,i| n -

我这样做:

a = [1,2,3,4]  
b = [2,3,4,5]  
c = b - a  
put c 
我明白了 答案->
[1]

我想要这个答案->
[1,1,1,1]
(比如矩阵加减法)

我试过这个:

c.each {|e| c[e] = b[e] - a[e]}  
但我得到了这个答案:
[1,0,0,0]

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

您可以使用:

还有一个类:


您可以使用带有索引的
映射的
每个

 c = b.each_with_index.map { |n,i| n - a[i] }
 # => [1, 1, 1, 1]

谢谢,我一直忘了1.9中添加的内容。非常感谢。我把所有东西都转换成矩阵。还有一个问题。我将使用什么来自动构建并填充矩阵?我使用array1=Array.new(hi){| e | e=0}来构造一个用户定义的数组并用0填充它。矩阵是否有类似的命令?再次感谢@subyman
Matrix.build
可能就是您要找的。检查一下。虽然有很多方法。@sawa谢谢,但我现在正试图将其应用到矩阵中。@Andy我将使用这些方法。非常感谢您的帮助。为了记录在案,我的问题的答案是:a=Matrix.build(1,4){0},它给出[[0,0,0,0]]
require "matrix"

a = Matrix[[1, 2, 3, 4]]
b = Matrix[[2, 3, 4, 5]]
c = b - a
# => Matrix[[1, 1, 1, 1]]
 c = b.each_with_index.map { |n,i| n - a[i] }
 # => [1, 1, 1, 1]