aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--lib/set.rb4
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7337d1e378..eb219185d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sun May 19 17:29:07 2013 Akinori MUSHA <knu@iDaemons.org>
+
+ * lib/set.rb (Set#delete_if, Set#keep_if): Add comments.
+
Sun May 19 11:37:36 2013 Kazuki Tsujimoto <kazuki@callcc.net>
* ext/fiddle/extconf.rb: ignore rc version of libffi to fix build failure.
diff --git a/lib/set.rb b/lib/set.rb
index 4f925e3ec6..4668b4e24a 100644
--- a/lib/set.rb
+++ b/lib/set.rb
@@ -272,6 +272,8 @@ class Set
# true, and returns self.
def delete_if
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))
self
end
@@ -280,6 +282,8 @@ class Set
# false, and returns self.
def keep_if
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))
self
end