diff options
Diffstat (limited to 'mrblib/hash.rb')
| -rw-r--r-- | mrblib/hash.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/mrblib/hash.rb b/mrblib/hash.rb index cd6ba8935..491d2a0ee 100644 --- a/mrblib/hash.rb +++ b/mrblib/hash.rb @@ -162,10 +162,12 @@ class Hash # 1.9 Hash#select! returns Hash; ISO says nothing. def select!(&b) + return to_enum :select! unless block_given? + keys = [] self.each_key{|k| v = self[k] - unless b.call(k, v) + unless b.call([k, v]) keys.push(k) end } @@ -178,10 +180,12 @@ class Hash # 1.9 Hash#select returns Hash; ISO says nothing. def select(&b) + return to_enum :select unless block_given? + h = {} self.each_key{|k| v = self[k] - if b.call(k, v) + if b.call([k, v]) h[k] = v end } |
