【发布时间】:2012-03-21 17:08:09
【问题描述】:
我怎样才能得到一个散列的散列?
我的测试返回
nil:NilClass (NoMethodError) 的未定义方法 `[]'
有什么建议吗?
found = Hash.new()
x = 1;
while x < 4 do
found[x] = Hash.new()
y = 1
while y < 4 do
found[x][y] = Hash.new()
found[x][y]['name1'] = 'abc1'
found[x][y]['name2'] = 'abc2'
found[x][y]['name3'] = 'abc3'
y += 1
end
x += 1
end
found.each do |k, v, y|
puts "k : #{k}"
puts " : #{v[y['name1']]}"
puts " : #{v[y['name2']]}"
puts " : #{v[y['name3']]}"
puts
end
【问题讨论】:
-
你为什么用
Hash.new()而不是{}? -
@NiklasB。也许 OP 会向
Hash#new传递额外的参数并发布简化的sn-p 代码 -
@galymzhan:我真的很怀疑,看到他之后手动初始化了默认值。
标签: ruby hashmap hash-of-hashes