はじめてのRuby!concatメソッドで配列や文字列を結合する方法

プログラミングをしていると、文字列に他の文字列を結合して使用したい場合や、配列同士を結合したい場合があります。

そんなとき、concatメソッドを使用すると文字列同士、配列同士で結合することができるので便利です。

「文字列と文字列を結合する方法が知りたい」
「配列と配列を結合する方法が知りたい」

そんな方に向けて、この記事では以下の内容を解説していきます。


【基礎】concatメソッドとは
【基礎】concatで文字列を結合する方法
【基礎】concatで配列を結合する方法
【発展】さまざまな文字列の結合方法

この記事ではconcatメソッドで文字列と配列を結合する方法についてわかりやすく解説していますので、ぜひ参考にしてください!

目次

concatメソッドとは

concatメソッドは、Stringクラスで用意されている文字列や配列同士を結合するときに便利なメソッドです。

書き方(文字列の結合)

文字列オブジェクト.concat(文字列)
文字列オブジェクト.concat(数値)

対象のオブジェクトの末尾にconcatの引数で指定した文字列が結合されます。

その際文字列オブジェクトの値は結合された文字列に変更されます。

また、concatは引数に数値型(Integer)で文字コードを指定すると、文字列の末尾に1文字分追加されます。

書き方(配列の結合)

配列オブジェクト.concat(配列)

文字列同様に対象のオブジェクトの末尾に指定した配列が結合されます。

concatで文字列を結合する

それではconcatで文字列同士を結合させてみましょう。

以下のサンプルをご覧ください。

str1 = "Hello "
str2 = "Ruby!"

str1.concat(str2)

print str1

実行結果:

Hello Ruby!

このようにconcatで指定した引数のstr2が、str1に結合されていることがわかりますね!

また、concatメソッドは以下のように引数を複数指定することも可能です。

str1 = "apple"
str2 = "orange"
str3 = "banana"

str1.concat(str2, str3)

print str1

実行結果:

appleorangebanana

concatで配列を結合する

続いてconcatで配列同士を結合する方法についても見ていきましょう。

次のサンプルをご覧ください。

fruits1 = ["apple", "orange", "melon", "banana"]
fruits2 = ["pineapple", "strawberry"]

fruits1.concat(fruits2)

print fruits1

実行結果:

["apple", "orange", "melon", "banana", "pineapple", "strawberry"]

このように配列同士も簡単に結合できることがわかりますね!

なお、以下のように配列に対して要素を1つ追加しようとして引数に文字列を指定しても「String into Array (TypeError)」のエラーが発生しますので注意しましょう。

fruits = ["apple", "orange", "melon", "banana"]
str = "strawberry"

fruits.concat(str) # TypeError

print fruits

そのため、配列に要素を追加したい場合はpushメソッドを使用するようにしましょう。

さまざまな文字列の結合方法

Rubyで文字列を結合する方法はさまざまです。

以下の記事では、ここで紹介したconcat以外にもさまざまなパターンの文字列結合について解説してますので、ぜひ参考にしてください!

まとめ

ここでは、文字列や配列を結合するconcatメソッドについて、以下の内容を解説しました。

  • concatメソッドとは
  • concatで文字列を結合する方法
  • concatで配列を結合する方法
  • さまざまな文字列の結合方法

concatメソッドは文字列同士、配列同士で結合するときに便利ですので使い方についてはよく理解しておきましょう。

もし、concatメソッドについて忘れてしまったら、この記事を思い出してくださいね!

この記事を書いた人

システムエンジニアとして10年勤務→フリーランスへ。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。プログラミング初学者に向けてわかりやすく、ためになるコンテンツ作りを心がけています。

目次