 
 This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
| Removing Elements from a Hash | ||
|---|---|---|
| Code | Expected | Actual | 
| h = {}
h[1] = 10
h | {1=>10} | {1=>10} | 
| h.delete(1) h | {} | {} | 
| h = {}
h[5] | nil | nil | 
| h[5] = 10 h[5] | 10 | 10 | 
| h[5] = nil h[5] | nil | nil | 
| h.keys | [5] | [5] | 
| h.delete(5) h.keys | [] | [] | 
| class Hash
  def delete_value(value)
    delete_if { |k,v| v == value }
  end
end
h = {'apple' => 'green', 'potato' => 'red', 'sun' => 'yellow', 
     'katydid' => 'green' }
h.delete_value('green')
h | {"sun"=>"yellow", "potato"=>"red"} | {"sun"=>"yellow", "potato"=>"red"} | 
| class Hash
  def remove_hash(other_hash)
    delete_if { |k,v| other_hash[k] == v }
  end
end
squares = { 1 => 1, 2 => 4, 3 => 9 }
doubles = { 1 => 2, 2 => 4, 3 => 6 }
squares.remove_hash(doubles)
squares | {1=>1, 3=>9} | {1=>1, 3=>9} | 
| h = {}
1.upto(1000) { |x| h[x] = x }
h.keys.size | 1000 | 1000 | 
| h.clear h | {} | {} |