簡體   English   中英

Ruby-使用另一個數組從一個數組中添加/減去元素

[英]Ruby- Adding/subtracting elements from one array with another array

我這樣做:

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]

有人能給我一個正確的方法嗎? 非常感謝!

你可以使用zip

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

還有一個Matrix類:

require "matrix"

a = Matrix[[1, 2, 3, 4]]
b = Matrix[[2, 3, 4, 5]]
c = b - a
# => Matrix[[1, 1, 1, 1]]

您可以使用each_with_indexmap

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM