Rubyで文字列連結を行う方法を現役エンジニアが解説【初心者向け】

初心者向けにRubyで文字列連結を行う方法について現役エンジニアが解説しています。2つ以上の文字列を連結してつなげることを文字列の連結と呼ばれます。Rubyでは、+メソッドや<<メソッド、concatメソッドで文字列を連結させることが可能です。元の変数が変わってしまう場合もあります。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyで文字列連結を行う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Rubyで文字列連結を行う方法について詳しく説明していくね!

大石ゆかり

お願いします!

文字列連結とは

2つ以上の文字列をつなげる操作のことです

テキストファイルの読み書き、整形などでよく行われる操作です。

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

文字列連結を行う方法

+メソッド

+メソッドは、引数に与えた2つの文字列を連結し、新しい文字列を作ります。

また、元の文字列を変更しません。

irb(main):018:0> s = "abc"
=> "abc"
irb(main):019:0> t = "def"
=> "def"
irb(main):020:0> s + t
=> "abcdef"

<<メソッド

<<メソッドは、呼び出し元の文字列に、引数の文字列を追加するものです。

+メソッドと異なり、元の文字列を破壊的に変更します。

irb(main):024:0> s = "abc"
=> "abc"
irb(main):025:0> t = "def"
=> "def"
irb(main):026:0> s << t => "abcdef"
irb(main):027:0> s
=> "abcdef"
irb(main):028:0> t
=> "def"

concatメソッド

concatは<<の別名です。

こちらも元の文字列を破壊的に変更します。

irb(main):029:0> s = "abc"
=> "abc"
irb(main):030:0> t = "def"
=> "def"
irb(main):031:0> s.concat(t)
=> "abcdef"
irb(main):032:0> s
=> "abcdef"
irb(main):033:0> t
=> "def"

実際に書いてみよう

サンプルコード

result = ""
ss = ["alpha", "bravo", "charlie"]

for s in ss do
  result << s
end

puts result

実行結果

alphabravocharlie

解説

1行目で空の文字列resultを作成しています。

2行目で連結する文字列を配列ssで用意しました。

4-6行目でループ処理で文字列を連結し、ここでは元文字列resultを変更したいため<<演算子を使っています。

8行目でresult変数を出力しました。

執筆してくれたメンター

橋本紘希

システムインテグレータ企業勤務のシステムエンジニア。

開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。

 

大石ゆかり

Rubyで文字列連結を行う方法がわかりやすくて良かったです!

田島悠介

ゆかりちゃん、今後も分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも最短4週間でRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているのでぜひ参加してみてください。