在Ruby中添加两个数组时,数组长度始终相同

在Ruby中添加两个数组时,数组长度始终相同,ruby,arrays,Ruby,Arrays,因此,我需要将两个数组添加到一起以填充第三个数组。乙二醇 a = [1,2,3,4] b = [3,4,5,6] 以便: c = [4,6,8,10] 我读了这里给出的答案: 但是我使用的是codecademy labs ruby编辑器,它在那里不起作用,而且我的数组的长度总是相等的。此外,我不知道“.with_index”是或是什么方法,我不明白当值已经是整数时为什么需要使用“.to_I” 看起来这应该很简单?选项1: 对于纯Ruby解决方案,请尝试以下方法: 选项2: 如果您在Rails

因此,我需要将两个数组添加到一起以填充第三个数组。乙二醇

a = [1,2,3,4]
b = [3,4,5,6]
以便:

c = [4,6,8,10]
我读了这里给出的答案:

但是我使用的是codecademy labs ruby编辑器,它在那里不起作用,而且我的数组的长度总是相等的。此外,我不知道“.with_index”是或是什么方法,我不明白当值已经是整数时为什么需要使用“.to_I”


看起来这应该很简单?

选项1

对于纯Ruby解决方案,请尝试以下方法:

选项2

如果您在Rails环境中,可以利用Rails的方法:

说明

转置
非常适合您的场景,因为如果子数组的长度不相同,它会引发一个
索引器
。发件人:

假设self是一个数组数组,并转置行和列。 如果子阵列的长度不匹配,将引发索引器


选项1

对于纯Ruby解决方案,请尝试以下方法:

选项2

如果您在Rails环境中,可以利用Rails的方法:

说明

转置
非常适合您的场景,因为如果子数组的长度不相同,它会引发一个
索引器
。发件人:

假设self是一个数组数组,并转置行和列。 如果子阵列的长度不匹配,将引发索引器

这里

map
将每个2元组转换为其元素之和

这里


map
将每个2元组转换为其元素之和

转置方法到底做什么?我更新了答案,解释了Ruby
transpose
方法和Rails
sum
方法。转置方法到底做什么?我更新了答案,解释了Ruby
transpose
方法和Rails
sum
方法。什么zip方法有用吗?Nathan_,我预料到你的问题:-)如果不清楚,请告诉我。这很有意义,谢谢!因此,zip将这两个值放在一起形成一个2d数组,map将值更改为{i,j | i+j}的和。在学习ruby时,我尝试创建一个一次性的pad程序。所以我的问题是让我能够按键对消息进行异或运算。我现在需要做的就是学习如何将字符转换成二进制,然后再转换回来,我将完成70%的任务!Nathan_,看看和。zip方法有什么作用?Nathan_,我预料到你的问题:-)如果不清楚,请告诉我。这很有意义,谢谢!因此,zip将这两个值放在一起形成一个2d数组,map将值更改为{i,j | i+j}的和。在学习ruby时,我尝试创建一个一次性的pad程序。所以我的问题是让我能够按键对消息进行异或运算。我现在需要做的就是学习如何将字符转换成二进制,然后再转换回来,我将完成70%的任务!Nathan_,看看和。
a = [1,2,3,4]
b = [3,4,5,6]
c = [a, b].transpose.map{|x, y| x + y} 
#=> [4,6,8,10]
[a, b].transpose.map{|x| x.sum} 
#=> [4,6,8,10]
a = [1,2,3,4]
b = [3,4,5,6]
a.zip(b).map { |i,j| i+j } # => [4, 6, 8, 10] 
a.zip(b) # => [[1, 3], [2, 4], [3, 5], [4, 6]]