HOWTO · Ruby

Rubyで配列を文字列に結合する

このチュートリアルでは、Ruby で配列を文字列に結合する方法について説明します。

このページの内容

配列全体を文字列に変換する必要がある場合があります。 これは、さまざまな目的で必要になる可能性があります。

たとえば、ユーザーの姓名を含む配列があるとします。 したがって、完全な名前を取得するには、配列要素を結合する必要があります。

この記事では、Ruby で配列要素を 1つの文字列に結合する方法を示します。 また、より明確にするために、関連する例を示します。

この記事では、この目的のための 3つの異なる方法について説明します。

方法 1: join("") 関数を使用する

以下の例では、join() 関数を使用して配列要素を結合する方法を示します。 従うことができるコード行は次のとおりです。

@MyArray = ['This', 'is', 'an', 'array']
myStr = String.new(@MyArray.join(" "))
puts "#{myStr}"

ここでは、join() 関数のパラメーターとしてスペースを提供しています。 これには、すべての配列要素の間にスペースが含まれます。

必要に応じて、別の文字を使用することもできます。

上記のプログラムを実行すると、以下の出力が得られます。

This is an array

方法 2: reduce(:+) 関数を使用する

以下の例では、reduce(:+) 関数を使用して配列要素を結合する方法を示します。 従うことができるコード行は次のとおりです。

@MyArray = ['This ', 'is ', 'an ', 'array']
myStr = String.new(@MyArray.reduce(:+))
puts "#{myStr}"

関数 reduce(:+) では、配列要素の間に特殊文字が含まれないことに注意してください。 したがって、配列要素に事前に含める必要があります。

上記のプログラムを実行すると、以下の出力が得られます。

This is an array

方法 3: inject(:+) 関数を使用する

以下の例では、inject(:+) 関数を使用して配列要素を結合する方法を示します。 従うことができるコード行は次のとおりです。

@MyArray = ['This ', 'is ', 'an ', 'array']
myStr = String.new(@MyArray.inject(:+))
puts "#{myStr}"

関数 reduce(:+) では、配列要素の間に特殊文字が含まれないことに注意してください。 したがって、配列要素に事前に含める必要があります。

上記のプログラムを実行すると、以下の出力が得られます。

This is an array

この記事で共有するコードはすべて Ruby で書かれていることに注意してください。