Книга: Программирование на языке Ruby

8.1.24. Инвертирование массива для получения хэша

8.1.24. Инвертирование массива для получения хэша

Массив нужен для того, чтобы ассоциировать целое число (индекс) с данными. А если нужно инвертировать это отношение, то есть ассоциировать данные с индексом? Иными словами, породить хэш? Это можно сделать так:

class Array
 def invert
  h={}
  self.each_with_index{|x,i| h[x]=i}
  h
 end
end
a = ["red","yellow","orange"]
h = a.invert # {"orange"=>2, "yellow"=>1, "red"=>0}

Оглавление книги

Оглавление статьи/книги

Генерация: 2.669. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз