summaryrefslogtreecommitdiff
path: root/lib/set.rb
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-20 13:28:32 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-20 13:28:32 +0000
commitdcb4ceeac68e32be46016930f0dc82b18e4694e6 (patch)
tree34b6097966b5cf85bfe1991fd10b52b6bae05cfb /lib/set.rb
parentb416c661e80b917fd316c7d758d1b60c0a638991 (diff)
* lib/set.rb (Set#delete_if, Set#keep_if): Avoid blockless call of
proc, which is not portable to JRuby. Replace &method() with faster and simpler literal blocks while at it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/set.rb')
-rw-r--r--lib/set.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/set.rb b/lib/set.rb
index 4668b4e..cc7542f 100644
--- a/lib/set.rb
+++ b/lib/set.rb
@@ -1,7 +1,7 @@
#--
# set.rb - defines the Set class
#++
-# Copyright (c) 2002-2008 Akinori MUSHA <knu@iDaemons.org>
+# Copyright (c) 2002-2013 Akinori MUSHA <knu@iDaemons.org>
#
# Documentation by Akinori MUSHA and Gavin Sinclair.
#
@@ -274,7 +274,7 @@ class Set
block_given? or return enum_for(__method__)
# @hash.delete_if should be faster, but using it breaks the order
# of enumeration in subclasses.
- select(&proc).each(&@hash.method(:delete))
+ select { |o| yield o }.each { |o| @hash.delete(o) }
self
end
@@ -284,7 +284,7 @@ class Set
block_given? or return enum_for(__method__)
# @hash.keep_if should be faster, but using it breaks the order of
# enumeration in subclasses.
- reject(&proc).each(&@hash.method(:delete))
+ reject { |o| yield o }.each { |o| @hash.delete(o) }
self
end