mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
mention behavior of Array#join for nested arrays [ci skip]
The current documentation for Array#join does not mention the special treatment of nested arrays. It says: > Returns a string created by converting each element of the > array to a string, separated by the given separator. Expected behavior according to the docs would be: [ "a", [1, 2, [:x, :y]], "b" ].join("-") #=> "a-[1, 2, [:x, :y]]-b" # because of: [1, 2, [:x, :y]].to_s #=> "[1, 2, [:x, :y]]" Actual behavior: [ "a", [1, 2, [:x, :y]], "b" ].join("-") #=> "a-1-2-x-y-b" because join is applied recursively for nested arrays. The patch clarifies this behavior. (Also: small markup and grammar fix.) Patch by Marcus Stollsteimer <sto.mar@web.de> [ruby-talk:437238] [ruby-core:79079] [Bug #13130] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
3408e9e3c3
commit
eeb36c5c74
1 changed files with 7 additions and 2 deletions
9
array.c
9
array.c
|
@ -2075,11 +2075,16 @@ rb_ary_join(VALUE ary, VALUE sep)
|
|||
*
|
||||
* Returns a string created by converting each element of the array to
|
||||
* a string, separated by the given +separator+.
|
||||
* If the +separator+ is +nil+, it uses current $,.
|
||||
* If both the +separator+ and $, are nil, it uses empty string.
|
||||
* If the +separator+ is +nil+, it uses current <code>$,</code>.
|
||||
* If both the +separator+ and <code>$,</code> are +nil+,
|
||||
* it uses an empty string.
|
||||
*
|
||||
* [ "a", "b", "c" ].join #=> "abc"
|
||||
* [ "a", "b", "c" ].join("-") #=> "a-b-c"
|
||||
*
|
||||
* For nested arrays, join is applied recursively:
|
||||
*
|
||||
* [ "a", [1, 2, [:x, :y]], "b" ].join("-") #=> "a-1-2-x-y-b"
|
||||
*/
|
||||
|
||||
static VALUE
|
||||
|
|
Loading…
Reference in a new issue