第1回 |
<a href=></a>
」という文字を挿入し、
その後カーソルを5文字分左に移動すればいいわけですから、
insert
"<a href=></a>";↓ |
insert
"<a href=""></a>";↓
|
href=
」の後ろに入れた「""」の
始めの「"」が文字列リテラルの終わり、
後の「"」が次の文字列リテラルの始めとみなされ、
引数の部分が "<a href="
と
"></a>"
という
2つの文字列リテラルを並べたもの(*1)と解釈されてしまうからです。
これを防ぐには、すなわち
文字列リテラル中に二重引用符を入れるには、
\"
という書き方をする必要があります。
というわけで正解は
insert
"<a href=\"\"></a>";↓
|
(*1) | C言語の場合は、 (区切り文字を除いて) 隣接する2つの文字列リテラルは自動的に連結される、 という規則がありますが、 秀丸マクロの場合はそのようなことはありません (文字列(リテラル)の連結には 専用の演算子を使います)。 |
第2回 |
delete
です(そのまんま(^^;)。
このコマンドは引数を取りませんから、
「[Delete] キーを4回押す」には
その数だけ delete
コマンドを書く必要があります。
よって、
left 4;↓ |
insert "hello!";↓ |
insert "hello!";↓ |
insert□
」
が1つのトークンとみなされます。
しかし、このようなコマンドはない
(&他の何物でもない)ためにエラーとなります。
というわけで、マクロ(やその他のプログラム)を書く時には、
見た目に分かりやすくなるように
「全角空白を記号で表示させる」
オプションを有効にした方がよいです。(*1) | C言語の場合、各文の終わりには必ずセミコロンを書きます。 |
第3回 |
|
insert filename;↓ |
insert "Windows フォルダ:" + windir;
↓ |
message
コマンドは
(表示するメッセージとなる)文字列型の引数を1つだけ取りますから、
insert
コマンドの場合と同様に、
各キーワードと日付と時刻を区切る空白を「+」でつなげて
message date + " " + time;↓ |
第4回 |
D:Program Files↓ |
command.com /c echo "[TAB]Hello world!"
|
"command.com /c echo \"C:\\Program Files\"";↓ |
"マクロ中で正規表現検索を行う時は\"\\n\"を\"\\\\n\"と書きます";↓ |
第5回 |
$a = rightstr("World",3); // "rld" を代入する↓ |
"//"
は
コメントの始まりとはみなされないので注意して下さい。
"\\"
は
1つの円記号に置き換えられますから1文字と数えます。「文」
「C:\文」
「書」
「文」
"あたたたたー!!"
です(^^;。第6回 |
$namae = input("名前を入力して下さい。","");↓ |
insert input("名前を入力して下さい。","");↓ |
$sei = input("姓をローマ字で入力して下さい。","");↓ |
message str(val("001a"));↓ |
"001"
までが数値と見なされる)
message str(1+2-3*4/5%6);↓ |