Ruby 二维关联数组。2.散列don';行不通

Ruby 二维关联数组。2.散列don';行不通,ruby,Ruby,print“#{t['x']['y']}什么也不产生,为什么..?我只想要2d关联数组。它什么也不产生,因为根据下面的文档片段,在键不存在的情况下提供默认值不会修改散列 如果指定了块,则将使用哈希对象和 键,并应返回默认值。它是块的 如果需要,负责将值存储在哈希中 要获得您想要的效果,您需要执行以下操作: t = Hash.new { Hash.new } t['x']['y'] = 1 print "#{t['x']['y']}" t = Hash.new {|hash, key| hash

print“#{t['x']['y']}
什么也不产生,为什么..?我只想要2d关联数组。

它什么也不产生,因为根据下面的文档片段,在键不存在的情况下提供默认值不会修改散列

如果指定了块,则将使用哈希对象和 键,并应返回默认值。它是块的 如果需要,负责将值存储在哈希中

要获得您想要的效果,您需要执行以下操作:

t = Hash.new { Hash.new }
t['x']['y'] = 1
print "#{t['x']['y']}"
t = Hash.new {|hash, key| hash[key] = Hash.new}