2012-02-24 117 views
-4

我怎么能以这种形式创建红宝石(on Rails的)数组:阵列阵列

[[0,5], [1,5], [3,7]] 

编辑: 我知道如何定义简单数组,并添加一些数据:

posts = Array[] # or Array.new 
posts << data.id # e.g. posts[1,2,3,4] 

但我想知道如何添加(推)数据到更复杂的数组,如第一个数组[[],[]]。

请尝试理解我。 :)

+10

'阵列= [[0,5],[1,5],[3,7]] '。对不起,这是个问题吗? – 2012-02-24 19:34:41

+1

你应该提供更多的上下文。从技术上讲,你上面写的是你想要的形式的数组文字。你想达到什么目标,以及你写的代码到目前为止? – michaelmichael 2012-02-24 19:37:47

回答

2

num = [[0,5], [1,5], [3,7]]不工作?

0

有很多方法可以解决您的问题。您正在寻找一组数组。我想你对数组如何在数组内部感到困惑。您应该记住,数组只是对象的有序列表。因此,在每个索引中存储数组并不像看起来那样是一个概念。

A = [] #an empty array 
A[0] = [1, 2] 
A[1] = 1 
A # => [[1,2], 1] 

如果要初始化具有缺省值作为数组的数组尝试

A = Array.new(2) {Array.new(2){0}} #This creates an array of size 2 with default values of arrays of size 2 with 0 in each entry. 

A[0][1] # returns 0 
A[0] # returns [0, 0] 
A #returns [[0,0], [0,0]]