mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* enum.c (enum_each_entry): new method #each_entry to pack values
from yield into an array. * lib/set.rb (Set#merge): use Enumerable#each_entry to implement Set compatible to 1.8 behavior. [ruby-core:27985] * lib/set.rb: replace is_a?(Enumerable) with respond_to?(:each) for duck typing. * lib/set.rb (SortedSet#add): typo fixed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
bafb881c1f
commit
970e90dd15
4 changed files with 80 additions and 15 deletions
|
@ -219,6 +219,18 @@ class TestEnumerable < Test::Unit::TestCase
|
|||
assert_equal([55, 3628800], ret)
|
||||
end
|
||||
|
||||
class Foo
|
||||
include Enumerable
|
||||
def each
|
||||
yield 1
|
||||
yield 1,2
|
||||
end
|
||||
end
|
||||
|
||||
def test_each_entry
|
||||
assert_equal([1, [1, 2]], Foo.new.each_entry.to_a)
|
||||
end
|
||||
|
||||
def test_zip
|
||||
assert_equal([[1,1],[2,2],[3,3],[1,1],[2,2]], @obj.zip(@obj))
|
||||
a = []
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue