ruby-changes:4674
From: ko1@a...
Date: Wed, 23 Apr 2008 11:53:22 +0900 (JST)
Subject: [ruby-changes:4674] knu - Ruby:r16168 (ruby_1_8): * lib/set.rb (Set#each, SortedSet#each, TC_Set#test_each): Return
knu 2008-04-23 11:53:10 +0900 (Wed, 23 Apr 2008) New Revision: 16168 Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/lib/set.rb Log: * lib/set.rb (Set#each, SortedSet#each, TC_Set#test_each): Return an enumerator if no block is given. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16168&r2=16167&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/lib/set.rb?r1=16168&r2=16167&diff_format=u Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 16167) +++ ruby_1_8/ChangeLog (revision 16168) @@ -1,3 +1,8 @@ +Wed Apr 23 11:49:54 2008 Akinori MUSHA <knu@i...> + + * lib/set.rb (Set#each, SortedSet#each, TC_Set#test_each): Return + an enumerator if no block is given. + Wed Apr 23 00:42:49 2008 Tanaka Akira <akr@f...> * eval.c (error_print): show full stack grace except SystemStackError. Index: ruby_1_8/lib/set.rb =================================================================== --- ruby_1_8/lib/set.rb (revision 16167) +++ ruby_1_8/lib/set.rb (revision 16168) @@ -2,7 +2,7 @@ #-- # set.rb - defines the Set class #++ -# Copyright (c) 2002 Akinori MUSHA <knu@i...> +# Copyright (c) 2002-2008 Akinori MUSHA <knu@i...> # # Documentation by Akinori MUSHA and Gavin Sinclair. # @@ -188,8 +188,10 @@ 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 @@ end def each + block_given? or return enum_for(__method__) to_a.each { |o| yield(o) } end @@ -918,9 +921,8 @@ 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| -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/