# File lib/map.rb, line 451 def keep_if( &block ) raise RuntimeError.new( "can't modify frozen #{ self.class.name }" ) if frozen? return to_enum( :keep_if ) unless block_given? each { | key , val | delete key unless yield( key , val ) } self end