У меня есть хеш меню, в котором мне нужно перебирать значения. Каждый товар имеет два размера: SML
и LRG
. Предположим, что это мой hash
.Правильный способ работы с хешем в RUBY
fullMenu = [{:item => "pasta", :sml => 550, :lrg => 975},
{:item => "chicken", :sml => 725, :lrg => 1150},
{:item => "shrimp", :sml => 975, :lrg => 1350}]
Теперь то, что я хотел бы сделать, это итерация по каждому item/size - price
для построения меню.
fullMenu.each do |item, p_sml, p_lrg|
puts "#{item} Small: $#{p_sml} -or- Large: $#{p_lrg}"
end
Мой вывод:
{:item=>"pasta", :sml=>550, :lrg=>975} Small: $ -or- Large: $
{:item=>"chicken", :sml=>725, :lrg=>1150} Small: $ -or- Large: $
{:item=>"shrimp", :sml=>975, :lrg=>1350} Small: $ -or- Large: $
Не совсем то, что я хочу. Поскольку ничего не выводится. Наконец, я действительно хочу, чтобы мой puts
был puts "#{item} Small: $#{"%.2f" % p_sml/100} -or- Large: $#{"%.2f" % p_lrg/100}"
Чтобы правильно отобразить цену. Что мне здесь не хватает? И это называется многомерным hash
или array
?
Да! Спасибо. Именно то, что я хотел. – fyz