English help on website



マクロの概要(入門用) エスケープシーケンスについて(Ver9.34対応版)
エスケープシーケンスについて
文字列変数に「これは文字列です」という言葉(文字列)を代入する場合、
$str = "これは文字列です";
と、代入する文字列を" "で囲むと前述しました。これが文字列型変数に文字列を代入するときの決まりでした。
では「これは"文字列"です」とダブルクォーテーション記号で囲んだ言葉を含む文字列を代入させる場合は、どうすればいいでしょう。
$str = "これは"文字列"です";
と記述すると誤動作(エラー)になります。
エラーの理由
$str = "これは"文字列"です";
             ↑
     ここまでが文字列の代入だとマクロが判断するからです。
     「これは」までが" "で括られているものと判断しエラーになります。
ダブルクォーテーション記号の「 " 」を代入するには、「 " 」のひとつずつに「  \ 」をつけて「  \" 」と記述します。 するとマクロは「 " 」を代入します。
$str = "これは \"文字列 \"です";
この「  \" 」の2文字がセットで1文字「 " 」を表します。
「  \ 」文字を前置することによって、ダブルクォーテーション記号を埋め込むことができます。この特殊な「  \ 」文字を「エスケープキャラクタ」といいます。
また「  \ 」+「文字」(エスケープキャラクタ+制御コードを表す文字)を「エスケープシーケンス」と呼びます。上記の例では「  \" 」です。

また、Windowsでフォルダを指定する場合、通常は「C:\Folder\Documents\」と指定しますが、マクロでは「"」でくくって「"C:\\Folder\\Documents\\"」と指定しなくてはなりません。
「  \ 」はマクロではエスケープキャラクタなので、「  \ 」を記述するためには「  \\ 」となるのです。

他の代表的なエスケープシーケンスです。

マクロで改行文字を記述するには「 \n 」を使います(nは改行を表す制御文字)。
insert "\n";    //改行を挿入します
マクロでタブ文字を記述するには「 \t 」を使います(tはタブを表す制御文字)。
insert "\t";    //タブ文字を挿入します
文字コードを指定したい場合は「 \x 」を使って16進数で指定します。
$str = "文字コード41は、 \x41です。"


戻る 目次 次へ