Rubyでエスケープ処理をする方法を現役エンジニアが解説【初心者向け】

初心者向けにRubyでエスケープ処理をする方法について現役エンジニアが解説しています。エスケープ処理とは、特別な意味を持つ文字をそのままの文字として出力させるための処理のことです。Rubyでは<や>の前にバックスラッシュを記述してエスケープ処理を行います。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Rubyでエスケープ処理をする方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

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

 

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

田島悠介

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

大石ゆかり

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

田島悠介

Rubyでエスケープ処理をする方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

エスケープ処理とは

特別な意味を持つ特殊文字をその文字のままで出力させるための処理のことをエスケープ処理と言います。

HTMLでも同様の処理をする場面は多く、<(小なり)や”(ダブルクォーテーション)なども、そのままHTMLファイルに記述すると意図した表記となりません。

このような場合にはエスケープ処理をすることで、プログラミングコードとして認識するのではなく単なる文字として認識されるようにしていきます。
 

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

エスケープ処理をする方法

HTMLでエスケープ処理をする場合はその特殊文字に対応するコードを記述することで変換がされていましたが、rubyでは処理が変わります。

HTMLの場合は、

  • 「<」(小なり)を表記する場合には「&lt;」と記述
  • 「”」(ダブルクォーテーション)を表記する場合には「&quot;」と記述

をしていました。

Rubyの場合は「<」や「”」の前にバックスラッシュを記述することで文字と認識することが出来ます。バックスラッシュ(\)と円マーク(¥)は環境によって表示が異なるだけなので、本質的には同じ意味になります。

Rubyの場合は、

  • 「<」(小なり)を表記する場合には「\<」と記述
  • 「”」(ダブルクォーテーション)を表記する場合には「\”」と記述

とすることで、エスケープ処理をできます。
 

実際に書いてみよう

(test.rb)

puts "111\<111"
puts "222&lt;222"

puts "333\"333"
puts "444&quot;444"

puts "555\n555"
puts "666\\n666"

上記を実行すると以下のように表示されます。

111<111
222&lt;222

333"333
444&quot;444

555
555
666\n666

「\n」は改行と判断されてしまいますが、あえて文字として表示させたい場合は「\」を文字の前に記述することで改行されないようになります。

 

まとめ

エスケープ処理を必要とする特殊文字は改行などの他にも、タブや空白など複数あります。

このようなエスケープシーケンスには「\」(バックスラッシュ)を文字の前に記述することでそのままの表記がされるようになります。

エスケープ処理をしないまま実行をするとエラーとなってしまう場合もあるため、文字を正しく認識されるように記述することが必要となります。
 

筆者プロフィール

木村勇土

TechAcademyの現役メンター。

現在は行政書士事務所を運営しており、お客様にはプログラマーやフリーランサーも多い。
WordPressを中心とした自社のWebサイトの修正などを行なっている。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

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

大石ゆかり

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

 

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

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