Каков наилучший способ конвертировать массив в хеш в Ruby - PullRequest
116 голосов
/ 02 сентября 2008

В Ruby задан массив в одной из следующих форм ...

[apple, 1, banana, 2]
[[apple, 1], [banana, 2]]

... как лучше всего преобразовать это в хеш в виде ...

{apple => 1, banana => 2}

Ответы [ 11 ]

0 голосов
/ 02 сентября 2008

Не уверен, что это лучший способ, но это работает:

a = ["apple", 1, "banana", 2]
m1 = {}
for x in (a.length / 2).times
  m1[a[x*2]] = a[x*2 + 1]
end

b = [["apple", 1], ["banana", 2]]
m2 = {}
for x,y in b
  m2[x] = y
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...