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