目次(まとめ)

  • ◾️ 配列に保存されている複数の要素を結合する

  • ◾️ 出力フォーマットを指定するときにも活用できる


Rubyを使ったプログラミングをしているけれど、配列の要素をつなぎ合わせるための方法が知りたい

Rubyには、配列要素を区切り文字を指定してつなぎ合わせる "join" メソッドがあります。

今回の記事では、わたしが多用している活用例も含めて、"join" メソッドの使い方を紹介します。

配列に保存されている複数の要素を結合する

いま、以下のような、果物の名前からなる文字列配列を考えます。

fruits = ["apple", "banana", "orange"]

この要素から、「apple banana orange」のように、3つの果物の名前をスペース区切りで結合する場合には、以下のような文を書きます。

puts fruits.join("\s")
#=> apple banana orange

"\s" とは、スペースを意味する文字コードで、"join("\s")" とすることで、配列の要素をスペース区切りでつなぎ合わせることができます。

区切り文字意味
\sスペース区切り
\tタブ区切り

他にも、さまざまな文字を区切り文字として設定することができます。

上の例では、文字列からなる配列を取り上げましたが、もちろん数値からなる配列もつなぎあわせることができます。

出力フォーマットを指定するときにも活用できる

わたしは、joinメソッドを最終的な出力内容のフォーマットを指定する際に多用しています。

例えば、以下のサンプルプログラム(sample.rb)のようなプログラムです。

# sample.rb

fruits = ["apple", "banana", "orange"]

arr = Array.new()
arr << "fruits"
fruits.each do |f|   # fruitsに含まれる要素を1つずつ取り出す繰り返し文
  arr << f
end

out = arr.join("\t")
puts out

この例では、"arr" という配列に、最終的に出力したい要素を保存した後、joinメソッドを使ってタブでつなぎ合わせて、"out" という変数に保存しています。

これを実行すると、以下のように出力されます。

$ ruby sample.rb 
fruits	apple	banana	orange

今回の記事では、Rubyのjoinメソッドを使って、配列の要素をつなぎ合わせる方法、さらに、それを出力フォーマットの指定に活用する方法を紹介しました。覚えておくと便利です。

B!