在Ruby中定义二维数组最清晰的方法是什么?

时间:2014-07-21 01:54:21

标签: ruby arrays ruby-2.1

我有一个数组a=[0,1,2]

现在我想向A[0]添加一个新元素并将其设为a[0]=[0]

我想使用a[0].push(0),但是,我必须将a[0]定义为数组,因此我的代码将类似于:

a=[0,1,2]
a[0]=[]
for i in 1..100; do a[0].push(i); end

有一种简单的方法,我不需要将a[0]定义为数组吗?

2 个答案:

答案 0 :(得分:2)

您可以使用ruby Matrix类(http://www.ruby-doc.org/stdlib-2.0/libdoc/matrix/rdoc/Matrix.html)。请注意,构造之后,矩阵是不可变的,但您可以简单地定义一个像:

这样的单元格设置器
 class Matrix
   def []=(i, j, x)
     @rows[i][j] = x
   end
 end

答案 1 :(得分:1)

我无法弄清楚你想要最终得到什么阵列。你的意思是

a = [0,1,2]
a[0] = Array(1..100)
相关问题