Mega Code Archive

 
Categories / Ruby / Hash
 

Reject and delete from hash with block

h = {:a=>1, :b=>2, :c=>3, :d=>"four"} h.reject! {|k,v| v.is_a? String }  # => {:a=>1, :b=>2, :c=>3 } h.delete_if {|k,v| k.to_s < 'b' }  # => {:b=>2, :c=>3 } h.reject! {|k,v| k.to_s < 'b' }    # => nil: no change h.delete_if {|k,v| k.to_s < 'b' }  # => {:b=>2, :c=>3 }: unchanged hash h.reject {|k,v| true }             # => {}: h is unchanged