0

我有以下代码:

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]。
为什么它不起作用?

4

2 回答 2

1

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

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

于 2013-03-03T19:27:00.783 回答
0

尝试这个:

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

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

于 2013-03-03T19:26:49.907 回答