Как стать автором
Обновить

Заметки о Ruby. №1. [[: key,: value], [: key2,: value2]] --> {: key =>: value,: key2 =>: value2 }

Время на прочтение1 мин
Количество просмотров1.1K
Планирую начать очень короткие заметки о ruby.

Иногда нам нужно преобразовать структуру вида [[:key, :value], [:key2, :value2]] в
{ :key => :value, :key2 => :value2 }

Короткое решение:

Hash[[[:key, :value], [:key2, :value2]]]

К сожалению, в ruby 1.8.6 не работает. В 1.8.7 баг (?) исправили.

Обычное решение:

[[:key, :value], [:key2, :value2]].inject({}) { |hash, pair| hash[pair[0]] = pair[1]; hash }

Мегакороткое решение, а главное понятное и работает везде от Eugzol’а:

Hash[*[[:key, :value], [:key2, :value2]].flatten]
Теги:
Хабы:
Всего голосов 1: ↑0 и ↓1-1
Комментарии7

Публикации

Работа

Ruby on Rails
2 вакансии
Программист Ruby
2 вакансии

Ближайшие события