Ruby数组键值对的含义是什么?

9

我正在尝试将两个键值对配对,但我不确定如何实现。以下是我尝试过的内容:

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

但是我期望的输出应该是下面这样的(之前的代码块没有生成这个输出):
3 4
5 6
3个回答

23

为什么不使用哈希呢?使用哈希可以做到以下操作:

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} - Ronan Fauglas
这是一个哈希表,因此键值将始终是唯一的。 - Sunil Kumar

11

试试这个:

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

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


0
在 Ruby 2.3 中,您可以执行以下操作:
arr = [[3,4],[5,6]]
arr.each do |a,b|
    puts "#{a} #{b}"
end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接