如何访问assoc数组中的assoc数组

时间:2013-03-03 19:17:34

标签: ruby arrays hash multidimensional-array

我有以下代码:

def operation hash
  puts hash[:three][:three][:three]
end

operation :one => 'item', :two => [1,2,3], :three => [
    :one => 1,
    :two => 2,
    :three => [
        :one => 1,
        :two => 2,
        :three => [
            :test1,
            :test2
        ]
    ]
]

我想访问项目hash [:three] [:three] [:three]来输出[test1,test2]。
为什么不起作用?

2 个答案:

答案 0 :(得分:1)

Hash需要用大括号{}包围,而不是括号[],它们是为数组保留的。

与PHP不同,在Ruby中,这些是不同的类型。

答案 1 :(得分:0)

试试这个:

 def operation hash
  puts hash[:three][0][:three][0][:three]  #=> [:test1, :test2]
end

请注意,每个:three键都有一个存储值的数组。