From: Yusuke ENDOH Date: 2010-03-12T12:25:00+09:00 Subject: [ruby-core:28622] Re: [Bug #1893] Recursive Enumerable#join is surprising Hi, 2010/3/12 Yukihiro Matsumoto : > We should do something: > > (a) revert and remove Enumerable#join altogether, leaving Array#join. > (b) make Enumerable#join not to join recursively; I think Array#join > should remain recursive join for array elements. Thank you for remembering the issue! But I like: (c) revert it and leave Enumerable#join. I think Enumerable#join is irrelevant and innocent. Why should Array#join flatten Enumerable object if there is Enumerator#join? Not because Enumerator is similar to Array? If Enumerator is similar to Array, (c-1) Enumerator#to_ary should be defined. Otherwise, (c-2) merely Array#join should not call to_a to flatten Enumerator. I still prefer (c-1), though you rejected it once. I admit (c-1) is slightly aggresive against compatibility (for example, [] + [].to_enum now works!), so I would agree with (a) or (b) as temporal solution. -- Yusuke ENDOH