【发布时间】:2012-11-13 15:52:39
【问题描述】:
我正在尝试配对两个键值对,但我不确定如何完成此操作。以下是我尝试过的:
struc = Array[(3,4),(5,6)]
for i in 0..1
puts "#{struc[i,i]}"
end
但我想要的输出如下(前面的代码块没有产生):
3 4
5 6
【问题讨论】:
我正在尝试配对两个键值对,但我不确定如何完成此操作。以下是我尝试过的:
struc = Array[(3,4),(5,6)]
for i in 0..1
puts "#{struc[i,i]}"
end
但我想要的输出如下(前面的代码块没有产生):
3 4
5 6
【问题讨论】:
为什么不使用哈希。有了它,你可以做到:
struc = {3 => 4, 5 => 6}
要输出结果,可以使用 each_pair 方法,如下所示:
struc.each_pair do |key, value|
puts "#{key} #{value}"
end
【讨论】:
{3 => 4, 5 => 6, 3=> 5} 将给出:{3=>5, 5=>6}
试试这个:
arr = [[3,4],[5,6]]
arr.each do |(a,b)|
puts "#{a} #{b}"
end
另外你的数组语法 (Array[(3,4),(5,6)]) 不正确。
【讨论】:
在 Ruby 2.3 中,您可以执行以下操作:
arr = [[3,4],[5,6]]
arr.each do |a,b|
puts "#{a} #{b}"
end
【讨论】: