From babb80f4a9562db3b45792059bf8e21c22ed2058 Mon Sep 17 00:00:00 2001 From: knu Date: Fri, 31 Aug 2012 08:43:09 +0000 Subject: * lib/set.rb (Set#{each,reject!,select!}, SortedSet#each): Pass the original block through instead of creating one that only yields the passed argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/set.rb | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'lib/set.rb') diff --git a/lib/set.rb b/lib/set.rb index 9727ba3b3c..19bb892feb 100755 --- a/lib/set.rb +++ b/lib/set.rb @@ -228,9 +228,9 @@ class Set # Calls the given block once for each element in the set, passing # the element as parameter. Returns an enumerator if no block is # given. - def each - block_given? or return enum_for(__method__) - @hash.each_key { |o| yield(o) } + def each(&block) + block or return enum_for(__method__) + @hash.each_key(&block) self end @@ -296,19 +296,19 @@ class Set # Equivalent to Set#delete_if, but returns nil if no changes were # made. - def reject! - block_given? or return enum_for(__method__) + def reject!(&block) + block or return enum_for(__method__) n = size - delete_if { |o| yield(o) } + delete_if(&block) size == n ? nil : self end # Equivalent to Set#keep_if, but returns nil if no changes were # made. - def select! - block_given? or return enum_for(__method__) + def select!(&block) + block or return enum_for(__method__) n = size - keep_if { |o| yield(o) } + keep_if(&block) size == n ? nil : self end @@ -603,9 +603,9 @@ class SortedSet < Set super end - def each - block_given? or return enum_for(__method__) - to_a.each { |o| yield(o) } + def each(&block) + block or return enum_for(__method__) + to_a.each(&block) self end -- cgit v1.2.3