如何散列散列散列?散列散列的红宝石散列
我测试返回
未定义的方法`[]”为零: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()',而不是仅仅'{}'? – 2012-03-21 17:10:12
@NiklasB。也许OP会将附加参数传递给'Hash#new',并发布简化的代码片段 – galymzhan 2012-03-21 17:16:56
@galymzhan:我很怀疑,看到他手动初始化默认值后。 – 2012-03-21 17:19:02