哈希值是所请求但不存在的键的默认值(无):
a = {} p a[ :b ] # => nil
创建新哈希时,可以指定默认值:
b =Hash.new'puppy' p b[ :b ] # => 'puppy'
Hash.new还包含一个代码块,该代码块使您可以自动创建嵌套的哈希,例如Perl的自动生存行为或mkdir -p:
# h是您要创建的哈希,而k是键。 # hash =Hash.new{ |h, k| h[k] =Hash.new&h.default_proc } hash[ :a ][ :b ][ :c ] = 3 p hash # => { a: { b: { c: 3 } } }