Sha256: da107165bb91e07de146810db60f04ae10aaccc039e9f705e9009a91282b34fc

Contents?: true

Size: 566 Bytes

Versions: 26

Compression:

Stored size: 566 Bytes

Contents

class Hash

  # Same as #update_each, but deletes the key element first.
  def replace_each  # :yield:
    dup.each_pair{ |k,v| delete( k ); update( yield(k,v) ); }
    self
  end

end


#  _____         _
# |_   _|__  ___| |_
#   | |/ _ \/ __| __|
#   | |  __/\__ \ |_
#   |_|\___||___/\__|
#
=begin test

  require 'test/unit'

  class TCHash < Test::Unit::TestCase

    def test_replace_each
      a = { :a => 1, :b => 2, :c => 3 }
      e = { :a => 2, :b => 3, :c => 4 }
      a.replace_each{ |k,v| { k => v+1 } }
      assert_equal( e, a )
    end

  end

=end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
facets-0.9.0 lib/nano/hash/replace_each.rb
facets-1.0.3 packages/core/lib/facet/hash/replace_each.rb
facets-1.0.0 lib/facet/hash/replace_each.rb
facets-1.3.0 lib/facets/core/hash/replace_each.rb
facets-1.1.0 lib/facet/hash/replace_each.rb
facets-1.2.0 lib/facets/core/hash/replace_each.rb
facets-1.2.1 lib/facets/core/hash/replace_each.rb
facets-1.3.3 lib/facets/core/hash/replace_each.rb
facets-1.3.2 lib/facets/core/hash/replace_each.rb
facets-1.3.1 lib/facets/core/hash/replace_each.rb
facets-1.4.1 lib/facets/core/hash/replace_each.rb
facets-1.4.0 lib/facets/core/hash/replace_each.rb
facets-1.4.2 lib/facets/core/hash/replace_each.rb
facets-1.4.3 lib/facets/core/hash/replace_each.rb
facets-1.4.4 lib/facets/core/hash/replace_each.rb
facets-1.4.5 lib/facets/core/hash/replace_each.rb
facets-1.7.38 lib/facets/core/hash/replace_each.rb
facets-1.7.0 lib/facets/core/hash/replace_each.rb
facets-1.7.30 lib/facets/core/hash/replace_each.rb
facets-1.7.46 lib/facets/core/hash/replace_each.rb