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 |
{} | {} |