2012-11-13 84 views
8

我想配对两个关键值对,但我不确定如何完成此操作。下面是我尝试:ruby​​数组密钥对值?

struc = Array[(3,4),(5,6)] 
for i in 0..1 
    puts "#{struc[i,i]}" 
end 

但我的期望输出如下(其中前面的代码块不会产生):

3 4 
5 6 

回答

10

试试这个:

arr = [[3,4],[5,6]] 
arr.each do |(a,b)| 
    puts "#{a} #{b}" 
end 

而且您的数组语法(Array[(3,4),(5,6)])不正确。

18

为什么不使用散列。有了它,你可以这样做:

struc = {3 => 4, 5 => 6} 

要输出的结果,你可以使用each_pair方法,像这样:

struc.each_pair do |key, value| 
    puts "#{key} #{value}" 
end 
+1

真棒答案!谢谢! – TheMouseMan

0

在Ruby 2.3,你可以做到以下几点:

arr = [[3,4],[5,6]] 
arr.each do |a,b| 
    puts "#{a} #{b}" 
end