配列の要素を連結して文字列化する
配列の要素を連結して文字列化するにはArray#join
を使う。デフォルトでは単に要素が連結される。
p ['foo', 'bar', 'buz'].join #=> "foobarbuz"
Array#join
には引数でセパレータを指定することができる。例えばCSV風に配列を文字列化するには以下のようにする。
p ['foo', 'bar', 'buz'].join(',') #=> "foo,bar,buz"
Array#join
は文字列でない要素に対してto_s
で文字列化を試みる。よって以下も問題なく動作する。
p [1, /abc/, :a, Object.new].join(' ') #=> "1 (?-mix:abc) a #<Object:0x000000009fb1b8>"
配列の要素が配列の場合、Array#join
は同じセパレータを用いて再帰的な文字列化を行う。
p [[1, 2, 3], [4, 5, 6, [7, 8, 9]]].join(' ') #=> "1 2 3 4 5 6 7 8 9"