Получить значение от га sh с индексаторами - PullRequest
0 голосов
/ 13 января 2020

У меня есть ха sh как

hash = {"19206"=>{"ordet_id"=>"4", "discount"=>"22"}, "19207"=>{"ordet_id"=>"2", "discount"=>"11"}}

Могли бы мне много индексаторов. Как лучше всего получить значение discount?

Как-то так?

hash.each {|index, value| value[:discount]}

Или есть лучший способ, как это сделать?

Ruby 1,8,7

Рельсы 2.3.4

Ответы [ 2 ]

2 голосов
/ 13 января 2020

Ключи во вложенном ха sh являются строками, поэтому вы не можете получить значения с помощью символического ключа. Я бы сделал что-то подобное вместо этого

hash.map { |_k, v| v['discount'] }  
0 голосов
/ 14 января 2020

Просто еще одна версия, чтобы получить ожидаемый результат.

hash = hash.with_indifferent_access
discounts = hash.values.map(&:discount)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...