从Ruby中的嵌套数组打印单个元素

时间:2019-01-27 15:06:15

标签: ruby-on-rails ruby

我有一个像下面的数组

attributes_array = {\"rules\":{\"Claim\":[1100,1100],\"Bookmark\":[800,800]}}

我正在尝试在下方打印“声明和书签”,但无法使用。

第一:

attributes_array.each do |var|
  puts var.inspect
end

秒:

attributes_array.each do |var|
  var.each do |val|
    puts val
  end
end

任何线索都将不胜感激。

1 个答案:

答案 0 :(得分:2)

细化您的问题

attributes_array = { rules: { Claim: [1100, 1100], Bookmark: [800,800] } }

如果要查看所有值:

attributes_array[:rules].values_at(:Claim, :Bookmark)
#=> [[1100, 1100], [800, 800]]

如果要查看:Claim:Bookmark的值:

attributes_array[:rules][:Claim]
#=> [1100, 1100]

attributes_array[:rules][:Bookmark]
#=> [800, 800]

如果要查看:Claim:Bookmark的特定元素:

attributes_array[:rules][:Claim].first
#=> 1100

attributes_array[:rules][:Bookmark].last
#=> 800

如果您只想使用:Claim:Bookmark进行哈希:

attributes_array[:rules].slice(:Claim)
#=> {:Claim=>[1100, 1100]}

attributes_array[:rules].slice(:Bookmark)
#=> {:Bookmark=>[800, 800]}