From: Simon Strandgaard Date: 2005-02-20T02:00:09+09:00 Subject: Re: [rcr] Array#join non string arguments On Sun, 20 Feb 2005 01:52:25 +0900, Yukihiro Matsumoto wrote: > on Sun, 20 Feb 2005 01:42:34 +0900, Simon Strandgaard writes: > > |A proposal: > | > |[1, 2, 3, 4, 5, 6].join(0) #-> [1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6] > > I think behavior that changes depends on indirect types (i.e. type of > elements in the receiver this case) is not good idea. A method gives > a string should always gives string (or string-like object). > This particular behavior (interleaving array elements with given > value) might be useful, but should not be implemented by "Array#join". good point. I just needed this behavior and the first thing that came to mind was #join. Maybe better to name it #interleave, like this [1, 2, 3, 4, 5, 6].interleave(0) #-> [1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6] [1, 2, 3, 4, 5, 6].interleave('hi') #-> [1, 'hi', 2, 'hi', 3, 'hi', 4, 'hi', 5, 'hi', 6] -- Simon Strandgaard