文字列として入力を行えない特殊な文字があります。簡単な例で言えば改行です。Enterキーを押してもテキストが改行されるだけで改行を表す文字としては入力できません。
このような特殊な文字を入力するために「¥」記号+1文字などを使い別の単語として記述することができます。このような特殊な記述の仕方をエスケープシーケンスといいます。
エスケープシーケンスとして用意されているものは次のようなものがあります。
¥n 改行
¥r キャリッジリターン
¥t タブ
¥¥ ¥文字
¥$ $文字
¥( 左括弧
¥) 右括弧
¥[ 左括弧
¥] 右括弧
¥’ シングルクオーテーション
¥” ダブルクオーテーション
¥nnn 8 進数表記
¥xnn 16 進数表記
エスケープシーケンスはダブルクオーテーションで囲まれた文字列の場合にだけ意味を持ちます。例えば、次のように使用します。
print “こんにちは¥n”;
print “名前は¥”神崎¥”です”;
2番目の例では、ダブルクオーテーションで囲まれた文字列の中で、文字としての「”」を使用したい場合の例です。エスケープシーケンスを使わずにそのまま記述すると次のようになります。
print “名前は”神崎”です”;
このように記述してしまうとどこからどこまでが文字列なのか識別できません。そのため、ダブルクオーテーションで囲また文字列の中で「”」を記述する場合はエスケープシーケンスを用いて「”」の代わりに「¥”」と記述します。
このように「¥」は特殊な意味を持つため、「¥」という文字そのものを文字列の中で記述するにはエスケープシーケンスを使って「¥¥」と記述します。
なおシングルクオーテーションで囲まれた文字列の中でも次の2つだけはエスケープシーケンスとして扱われます。
シングルクオーテーションで囲まれた文字列の中で、文字として「’」を記述したい場合はエスケープシーケンスを用いて「’」の代わりに「¥’」と記述します。そして1つだけですが「¥」記号はシングルクオーテーションの中でも特別な意味を持つため「¥」という文字そのものを記述するには「¥¥」と記述します。
print ‘出身地は¥’大阪¥’です’;