今回は ruby でのバックスラッシュ記法によるエスケープについての解説になります。

なお、バックスラッシュ記法は、
文字列をダブルクオーテーションで囲った場合と、
シングルクオーテーションで囲った場合で扱いが異なります。

このバックスラッシュ記法を使うことで、
文字列をダブルクオーテーションで囲った場合には、
改行、タブ、スペースなどの特殊記号をソースコードに記述することが可能になりますが、
シングルクオーテーションで囲った場合、特殊記号ではなく、
そのままの文字になります。

Rubyの主なバックスラッシュ記法は、以下のようになります。

\t タブ
\v 垂直タブ
\n 改行
\r キャリッジリターン
\f 改ページ
\b バックスペース
\a ベル
\e エスケープ
\s 空白
\x 文字 x そのもの

また、文字列の中で” を使いたい場合には \” というように書きます。
\ はエスケープとして使われるため、金額などで \を表示したい場合には
\\ というように記述します。

以上が概要となります。

それでは実践してみましょう。

実際にコードを書いたほうが理解しやすいので、Atom エディタで実践してみましょう。

Atom で実行するときにファイルを保存して端末で実行では面倒なので
script パッケージを追加します。

これでコードを書いて ctrl + shift + b で実行すると結果をみることができます。

では実践してみましょう。

まずは改行から実践してみましょう。

として、これを ctrl + shift + b で実行すると

というように改行されます。

Screenshot from 2016-07-20 00:04:47

次に、タブをいれてみます。

これで実行すると

というようにタブが入っているのがわかります。

Screenshot from 2016-07-20 00:08:01

次に、\そのものを表示します。

とすると

というように\そのものが表示されます。

Screenshot from 2016-07-20 00:11:58

なお、画像で見える文字が違うのは、環境が ubuntu のためで意味は同じバックスラッシュになります。

なお、’…’で囲むと特殊記号にはならず、そのままの文字で表示されます。

で実行すると

というようになります。

Screenshot from 2016-07-20 00:15:11

それでは今回の要点をまとめてみましょう。
・バックスラッシュ記法は、ダブルクオーテーションで囲った場合と、シングルクオーテーションで囲った場合で扱いが異なる。
・シングルクオーテーションで囲った場合、特殊記号ではなく、そのままの文字になる。
・\を表示したいときには \\ とし、” を表示したいときには \” を使用する。

web アプリ開発で文字を表示するときにはエスケープをよく使いますので覚えておくようにしましょう。