2012-02-24 2 views
-4

Как я могу создать массив с Ruby (на Rails) в таком виде:Массивы в массиве

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

Edit: Я знаю, как определить простой массив и добавить некоторые данные:

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

НО я хочу знать, как добавить (push) данные в массив, который более сложный, как в первом массиве [[], []].

Попытайтесь меня понять, пожалуйста. :)

+10

'массив = [[0,5], [1,5], [3,7]] '. Простите, это вопрос? –

+1

Вы должны предоставить больше контекста. Технически то, что вы написали выше, является литералом массива в той форме, которую вы ищете. Что вы пытаетесь достичь, и какой код вы написали до сих пор? – michaelmichael

ответ

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]] 
Смежные вопросы