【问题标题】:ruby Array key pair value?ruby 数组密钥对值?
【发布时间】: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

【问题讨论】:

    标签: ruby arrays hash


    【解决方案1】:

    为什么不使用哈希。有了它,你可以做到:

    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}
    • 它是一个哈希,因此密钥总是唯一的。
    【解决方案2】:

    试试这个:

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

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

    【讨论】:

      【解决方案3】:

      在 Ruby 2.3 中,您可以执行以下操作:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-22
        • 2014-04-13
        • 1970-01-01
        • 2011-11-09
        • 1970-01-01
        • 2020-05-13
        • 1970-01-01
        • 2020-11-12
        相关资源
        最近更新 更多