打印与key对应的嵌套哈希值

时间:2015-07-27 21:20:29

标签: ruby

我有一个嵌套哈希,

@metals = {
  "1" => {"Aluminum" => 100}, 
  "2" => {"Steel" => 80}, 
  "3" => {"Copper" => 60}
}

我试图从中提取密钥和值。当用户提交1时,我想同时打印Aluminum100

我的代码是:

puts "Which metal do you want to use?"
@metals.each do |key1, value1|
  value1.each do |key2, value2|
    puts "Select #{key1} for #{key2}"
  end
end
@metalsdata = gets.chomp
if @metals.has_key?(@metalsdata)
  puts "#{@metalsdata}"
else
  puts "Invalid option"
end

我迭代哈希以向用户显示选项。

1 个答案:

答案 0 :(得分:4)

而不是puts "#{@metalsdata}"你可以写:

key, value = @metals[@metalsdata].first