-
目次(まとめ)
- ◾️ 配列に保存されている複数の要素を結合する
- ◾️ 出力フォーマットを指定するときにも活用できる
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メソッドを使って、配列の要素をつなぎ合わせる方法、さらに、それを出力フォーマットの指定に活用する方法を紹介しました。覚えておくと便利です。