1
0
Fork 0
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:
matz 2010-02-02 08:54:52 +00:00
parent bafb881c1f
commit 970e90dd15
4 changed files with 80 additions and 15 deletions

View file

@ -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 = []