2013-12-17 7 views
-1

Простой вопрос. Я в Rails, и у меня есть массив как это:Ruby массив для многомерного массива

['a','b','c','d'] 

И мне нужно, чтобы преобразовать его в массив как это:

[[0,'a'],[1,'b'],[2,'c'],[3,'d']] 

Я думаю, что есть название для этого типа массива , но я не помню, что это такое, поэтому я не могу это сделать Google. Помогите?

ответ

3

Простая комбинация each_with_index и map все, что вам нужно:

a.each_with_index.map { |e, i| [ i, e ] } 

each_with_index перебрать вашего массива с индексами, а затем map преобразовать (или карту) ваши данные в нужный формат.

В результате получается «массив массивов». В Ruby нет двумерных массивов, просто массивы массивов (если, я полагаю, вы хотите включить Matrix из стандартной библиотеки, но это не массив, даже если он выглядит как один).

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