2012-03-04 3 views
0

У меня есть массивДоступ к элементам массива в Ruby,

Numbers =[ 
     [ 
     [ [1], [2] ], 
     [ [3], [4] ], 
     ], 
     [ 
     [ [5], [6] ], 
     [ [7], [8] ] 
     ] 
     ] 

Я хочу, чтобы получить результаты, как этот

[ [ [1], [2] ],[ [3], [4] ]] 

и

[ [ [5], [6] ],[ [7], [8] ]] 

в Ruby.

Возможно ли это?

Python эквивалент

for Number in Numbers: 
    print Number 

ответ

1

Эквивалент стиле Python:

for number in Numbers do 
    p number 
end 
#=> 
    [[[1], [2]], [[3], [4]]] 
    [[[5], [6]], [[7], [8]]] 
3

Использование each и inspect:

Numbers.each { |n| puts n.inspect } 

Например:

>> Numbers.each { |n| puts n.inspect } 
[[[1], [2]], [[3], [4]]] 
[[[5], [6]], [[7], [8]]] 

Кстати, технически у вас есть массив массивов или массивов, есть нет многомерных массивов в Ruby (если вы не создадите свой собственный класс для их реализации, конечно).

+0

не является многомерный массив по существу просто массив массивов в любом случае? –

+0

@AndrewMarshall: Нет, многомерный массив отличается. Строки 2D-массива имеют одинаковую длину (как и столбцы), но это не обязательно выполняется в AoA; AoA не является матрицей. Я признаю, что это немного педантично. –

+0

А я понимаю, что вы говорите, это имеет смысл. Так или иначе, длина не приходила мне в голову, возможно, так как в большинстве случаев все они обычно одинаковы. Ничего плохого в том, чтобы быть педантичным! –

Смежные вопросы