Sha256: 4114428ec11c4938eac6d73059d8e61c3fe0fffc360191d29f44d33c29d99c9e

Contents?: true

Size: 455 Bytes

Versions: 10

Compression:

Stored size: 455 Bytes

Contents

class Hash

  # Hash which auto initializes it's children.
  #
  #   h = Hash.autonew
  #   h['s1']['p1'] = 4
  #   h['s1']['p2'] = 5
  #   h['s1']['p3'] = 2
  #   h['s1']['p4'] = 3
  #
  #   h #=> {"s1"=>{"p1"=>4, "p4"=>3, "p3"=>2, "p2"=>5}}
  #
  #   h['s1'].keys.sort
  #   #=> ["p1", "p2", "p3", "p4"]
  #
  # CREDIT: Trans, Jan Molic

  def self.autonew(*args)
    leet = lambda{ |hsh, key| hsh[key] = new( &leet ) }
    new(*args,&leet)
  end

end

Version data entries

10 entries across 9 versions & 2 rubygems

Version Path
facets-glimmer-3.2.0 lib/core/facets/hash/autonew.rb
facets-3.1.0 lib/core/facets/hash/autonew.rb
facets-3.0.0 lib/core/facets/hash/autonew.rb
facets-2.9.3 lib/core/facets/hash/autonew.rb
facets-2.9.2 lib/core/facets/hash/autonew.rb
facets-2.9.2 src/core/facets/hash/autonew.rb
facets-2.9.1 lib/core/facets/hash/autonew.rb
facets-2.9.0 lib/core/facets/hash/autonew.rb
facets-2.9.0.pre.2 lib/core/facets/hash/autonew.rb
facets-2.9.0.pre.1 lib/core/facets/hash/autonew.rb