番号 | 記号 | 初期キー | 機能 |
---|---|---|---|
#01 | ^[ | 直前のコマンド実行 |
直前のコマンドを再度実行するコマンドである。運が良ければ?直前のマクロも実行できる。マクロ中では使用できない。次の例のようにマクロの中に記述しても何も起こらず,失敗を示す値(-1)が返される。
1 "" ?.
#s #01 #01 #01 ;(4){ #s } のつもり
直前に実行した「コマンド」を再度実行するのであれば,次のマクロを実行した直後に#01を実行することで,直前のコマンドを示す変数(cm)に値が代入されている#08が実行されるはずだ。
1 ^\ "" ?.
#07 cm=8,
ところが,実行されるコマンドは#07の方になるのである。
先のマクロの実行キーを外して,
1 "" ?.
#07 cm=8,
…とし,マクロメニューから実行しておく。そして,#01を実行すると再度マクロメニューが表示される。
つまり,#01の機能は「直前のコマンド実行」ではなく,「直前のコマンドキーの再現」であろうという想像がつく。そのため,直前のコマンドだけでなく,直前のマクロも再実行できるわけだ。「運が良ければ」というのは,直前に実行したマクロがマクロメニューなどから呼ばれていた場合,呼出元のマクロメニューの方が実行されてしまって,目的のマクロが実行されるわけではないからである。