1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Merge from ruby_1_8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
knu 2008-04-23 05:18:50 +00:00
parent 8609df7b9a
commit 23de09d6bb
3 changed files with 19 additions and 6 deletions

View file

@ -2,7 +2,7 @@
#--
# set.rb - defines the Set class
#++
# Copyright (c) 2002 Akinori MUSHA <knu@iDaemons.org>
# Copyright (c) 2002-2008 Akinori MUSHA <knu@iDaemons.org>
#
# Documentation by Akinori MUSHA and Gavin Sinclair.
#
@ -188,8 +188,10 @@ class Set
end
# Calls the given block once for each element in the set, passing
# the element as parameter.
# 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) }
self
end
@ -501,6 +503,7 @@ class SortedSet < Set
end
def each
block_given? or return enum_for(__method__)
to_a.each { |o| yield(o) }
end
@ -918,9 +921,8 @@ class TC_Set < Test::Unit::TestCase
ary = [1,3,5,7,10,20]
set = Set.new(ary)
assert_raises(LocalJumpError) {
set.each
}
e = set.each
assert_instance_of(Enumerable::Enumerator, e)
assert_nothing_raised {
set.each { |o|