使用.each分隔键和多个值以进行打印

时间:2009-11-13 22:15:18

标签: ruby

我可能正在努力争取这个。我正在尝试格式化哈希键和值的数组以输出给用户。 Ruby-doc为我提供了一个值的代码。 http://www.ruby-doc.org/core/classes/Hash.html#M002861

h = { "a" => 100, "b" => 200 }
h.each {|key, value| puts "#{key} is #{value}" }

我想要

h = { "a" => [100,'green'], "b" => [200,'red'] }
h.each {|key, m,n| puts "#{key} is #{m} and #{n}"}  

produces: 

a is 100 and green
b is 200 and red

我有幸运气了     h.each {|键,M,N | “#{key}是#{[m,'n']}”}

it produces:

a is 100green
b is 200red

我的元素数组之间需要一些空间,我该怎么做呢?

4 个答案:

答案 0 :(得分:7)

h.each {|key, (m, n)| puts "#{key} is #{m} and #{n}"}

答案 1 :(得分:3)

h.each { |key, value| puts "#{key} is #{value.first} and #{value.last}" }

答案 2 :(得分:2)

我喜欢哈希的each_pair粉丝:

h.each_pair {|key, val| puts "#{key} is #{val[0]} and #{val[1]}" }

或者

h.each_pair {|key, val| puts "#{key} is #{val.join(' and ')}"}

答案 3 :(得分:1)

h.each {|k,v| puts "#{k} is #{v[0]} and #{v[1]}"}