はじめてのRuby!文字列の使い方を基礎の基礎から解説!

こんにちは!エンジニアのヤマギシです。

今回はRubyのStringについてわかりやすく解説していこうと思います。

こちらの記事では、

文字列の定義
文字列の比較
クォーテーションの使い分

といった文字列の使い方を説明し、

さまざまな文字列操作

についてのオススメの記事をご紹介していこうと思います。

目次

そもそもStringとは

まずはStringの意味について知っていきましょう!

Stringとは文字列が文字列だと認識させるためのものです。

Rubyのプログラムでは実際に文字列を出力したり、条件分岐で比較する際に使われます。

さて、Stringの概要が分かった上で、肝心の文字列の使い方について理解していきましょう!

文字列の使い方

文字列の定義

Rubyのプログラムに限らずほとんどのプログラミング言語でも同様に文字列であると認識してもらう方法があります。

文字列だと認識してもらうには、文字列をクォーテーションで囲ってあげることが必要です。

Fruit = 'apple' #変数Fruitに文字列appleを格納

p Fruit #Fruitに格納されているappleを出力

【結果】

apple

結果として『apple』という文字列が出力されました。

仕組みはとてもシンプルで
Fruitという変数にクォーテーションで囲ったappleを入れ、
Fruitをpメソッドで出力しただけです。

すごくカンタンですよね。

ポイントは、文字列をクォーテーションで囲むことによって出力したい文字列を出力できるということです。

文字列の比較

では、文字列を出力できた上で、出力する前の処理を出し分ける方法についてご説明します。

まずは、実際のサンプルコードを見てみましょう!

if '123' == 123 #'123'と123が同じかどうか判定し

  p '一致しています' #一致していますと出力
  
else

  p '相違しています' #相違していますと出力
  
end

【結果】

相違しています

では、サンプルコードを解説していきます。

if ‘123’ == 123

この条件を記載する部分においては、文字列と値を比較しています。

一見、同じように見えますが、プログラムとして見たら、
クォーテーションで囲まれていたら文字列であり、
囲まれてなかったら文字列ではない
ので、こちらは『相違しています』と出力されます。

クォーテーションの使い分け

文字列が文字列だと認識させるためにはクォーテーションで囲むと説明してきました。
これまでのサンプル文で扱ってきたクォーテーションはシングルクォーテーション(’)というものです。

こちらでも問題はないのですが、シングルクォーテーション(’)ですと、中にある計算式や変数を展開しないのです。

逆に式や変数を展開するのがダブルクォーテーション(”)なのです。

と実際のサンプル文を見ていきましょう!

シングルクォーテーションの場合

pet = 'キャリー'

puts '#{pet}かわいいね'

【結果】

#{pet}かわいいね

ダブルクォーテーションの場合

pet = "キャリー"

puts "#{pet}かわいいね"

【結果】

キャリーかわいいね

2つ同時に見てきましたが、ダブルクォーテーションで囲まれた部分だけ変数の中身が展開されてますよね。

ちなみにRubyで式展開を行うにはダブルクォーテーションの中に

#{計算式もしくは変数}

という書き方をします。

今回紹介した式をそのまま覚えて使ってみましょう!。

式展開について詳しく知りたい方はこちらの記事を見ることをオススメします!

さまざまな文字列操作

さて、いままで
文字列の出力
文字列の比較
クォーテーションの使い分け

というすごく基礎的な部分に絞って解説してきました。

ただ、文字列にはその他にもさまざまなメソッドが用意されており、とても置くが深い分野なのです。

具体的にはこの記事

こちらの記事では、今まで触れてきた文字列の定義から文字列の比較はもちろんのこと
分割、検索、変換、置換、抽出、削除、繰り返しなどといったさまざまな文字列のメソッドが紹介されております。

今まで学んできたことを復習したり、さらに文字列について知りたいという方は是非ご参照ください。

まとめ

いかがでしたでしょうか。

今回はRubyのStringについて基本的な使い方を学んできました。

文字列を扱う上で、StringはRubyだけではなく他のプログラミング言語においても必須分野ですので、この機会に身に着けておきましょう。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次