別冊とっしーぱんち

IT技術系、Ruby関連、プログラミングお役立ち

プログラミング用語「エスケープシーケンス」とはなんぞ?

文字列を扱うとき、そこそこお世話になってくるエスケープシーケンス。

今回はこのエスケープシーケンスの使い方を紹介します。

文字で表せない特殊な文字

以前この記事でもちらりと紹介していますが、「改行」という文字は画面上で直接表示できないので、エスケープシーケンス「\n」で表現します。

puts "ここで\n改行します"

# 結果
=> ここで
    改行します。

最近あまりみかけないような気がしますが、タブ文字という一定の間隔を空けてくれる文字は「\t」を使います。 エスケープシーケンスを使う場合は、””(ダブルクォーテーション)で囲む必要があります。

ただの文字として表示するには''(シングルクォーテーション)を使います。

じゃあ\を出すときは?

\そのものを文字として出すときは\と入力します。

puts "\\バックスラッシュです"

# 結果
=> \バックスラッシュです

じゃあ”を出すときは?

""で囲っている中に"という文字を出したい場合、\"と入力します。

puts "\"1,000\"です"

# 結果
=> "1,000"です

色々混ぜてみるとこんな感じになります。

puts "このお菓子は\n \"¥1,000円\"です"

# 結果
=> このお菓子は
   "¥1,000円"です

余談ですが、Macだと\バックスラッシュを使いますが、Windowsだと¥を使います。さきほどの例をWindowsで置き換えると

# Windows
puts "このお菓子は¥n ¥"¥¥1,000円¥"です"

# 結果
=> このお菓子は
   "¥1,000円"です

こんなふうになります。¥記号を出すために¥でエスケープしてあげる必要が出てきます。¥がいっぱいで読みづらい感じになってしまいますよね。そんな場合は以前紹介した、改行付きでみたままの文字列を変数に入れるやり方や、文字列を改行やカンマで区切るやり方など、他の手段を検討してみるといいかもしれません。