はじめてのRuby!文字列を連結する方法をわかりやすく解説!

文字列と文字列を結合して、新たな文字列を作成することはよくあります。

ここでは、「文字列同士を結合する方法が知りたい」といった人に向けて、以下の内容を解説していきます。


【基礎】文字列を結合する方法
【基礎】+メソッド
【基礎】<<メソッド
【基礎】concatメソッド
【発展】printで文字列と変数を出力する

文字列を結合する基本的な方法を網羅していますので、ぜひ参考にしてくださいね!

文字列を結合する方法

Rubyで文字列を結合する方法は、主に以下の方法があります。

  • +メソッドで文字列と文字列を連結する方法
  • <<メソッドで文字列の末尾に文字列を連結する方法
  • concatメソッドで文字列の末尾に文字列を連結する方法

次項ではそれぞれの使い方について、詳しく見ていきましょう。

+メソッド

+メソッドを使用することで文字列同士を簡単に結合することができます。

print "Hello " + "Ruby!"

文字列と文字列を+メソッドで連結することで、1つの文字列として「Hello Ruby!」が出力されます。

また、文字列型の変数同士を結合することもできます。

str1 = "Hello "
str2 = "Ruby!"

# 文字列1と文字列2を結合
str = str1 + str2

print str

実行結果:

Hello Ruby!

+メソッドを使うことで、strには文字列str1とstr2が結合された文字列が代入されます。

このように簡単な連結なら+メソッドを使うと便利です。

<<メソッド

<<は主にシフト演算を行うときに使用するメソッドですが、文字列を結合するときも使用できます。

str1 = "Hello "
str2 = "Ruby!"

# 文字列1と文字列2を結合
str1 << str2

print str1

実行結果:

Hello Ruby!

<<メソッドの注意点として、<<メソッドで代入されるstr1の末尾に文字列が結合されます。

そのため、str1はもとの文字列である「Hello」が維持できませんので注意しましょう。

concatメソッド

concatはStringのメソッドで、文字列の末尾に引数で指定した文字列を結合します。

書き方:

文字列.concat(結合する文字列)

concatメソッドは先述した<<メソッド同様に、結合する文字列の末尾に文字列が結合されてしまうため、元の値は維持できません。

str1 = "Hello "
str2 = "Ruby!"

# 文字列1と文字列2を結合
str1.concat(str2)

print str1

実行結果:

Hello Ruby!

printで文字列と変数を出力する

printなどで文字列と変数を結合させて出力したい場合もあります。

printで変数や式を出力させたい場合、ダブルクォーテーションで囲まれた文字列の中に「#{式}」のようにして内容を記述します。

str = "Hello"

print "変数の値は、 #{str}です。 "

実行結果:

変数の値は、 Helloです。

以下のように式を記述することもできます。

str1 = "Hello "
str2 = "Ruby!"

print "変数の値は、 #{str1 + str2}です。 "

実行結果:

変数の値は、 Hello Ruby!です。

まとめ

ここでは、文字列を結合するための基本的な方法を解説しました。

  • 文字列を結合する方法
  • +メソッドの使い方
  • <<メソッドの使い方
  • concatメソッドの使い方
  • printで文字列と変数を出力する

文字列同士を結合する方法はよく使われますので、結合方法についてはよく理解しておきましょう。

もし、文字列を結合する方法を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。