summaryrefslogtreecommitdiffhomepage
path: root/mrblib/hash.rb
diff options
context:
space:
mode:
authorksss <[email protected]>2014-03-23 00:38:35 +0900
committerksss <[email protected]>2014-03-23 13:31:26 +0900
commit5e4626c9ba43027ba7bc6d6f6bbee7016512d0e6 (patch)
tree108001c945558671b5aab16fbc0f09ef8c3b2d37 /mrblib/hash.rb
parentff6666632f96fe837cc36b13afac8f2ab147d9d7 (diff)
downloadmruby-5e4626c9ba43027ba7bc6d6f6bbee7016512d0e6.tar.gz
mruby-5e4626c9ba43027ba7bc6d6f6bbee7016512d0e6.zip
Hash#{select,select!} support return Enumerator
if non block given
Diffstat (limited to 'mrblib/hash.rb')
-rw-r--r--mrblib/hash.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/mrblib/hash.rb b/mrblib/hash.rb
index cd6ba8935..9dcfb7e94 100644
--- a/mrblib/hash.rb
+++ b/mrblib/hash.rb
@@ -162,6 +162,8 @@ 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]
@@ -178,6 +180,8 @@ 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]