Bug #1741
Enumerable#join with Nested Enumerables
| Status: | Closed | Start date: | 07/08/2009 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 100% |
|
| Category: | core | |||
| Target version: | - | |||
| ruby -v: | ruby 1.9.2dev (2009-07-08 trunk 23987) [i686-linux] |
Description
Enumerable#join acts oddly for nested Enumerables. Should the output not be the same for both Array and E?
$ cat /tmp/join.rb
class E
include Enumerable
def initialize(*args)
@e = args
end
def each
@e.each {|e| yield e}
end
end
p [1,[2,[3,4]]].join(':')
p E.new(1, E.new(2, E.new(3, 4))).join(':')
$ ruby -vw /tmp/join.rb
ruby 1.9.2dev (2009-07-08 trunk 23987) [i686-linux]
"1:2:3:4"
"1:#<E:0x957f298>"
Associated revisions
* array.c (recursive_join): use obj to tell if recursion occurs.
[ruby-core:24150]
* enum.c (enum_join): reverted r23966. [ruby-core:24196]
History
Updated by Nobuyoshi Nakada over 2 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r24017.