6.1.1. Tera Termマクロでループする
ついに、ループまで辿りつきました。
まず、超絶簡単なループ処理を作ることによって、ループの作り方に慣れていきましょう。
Tera Termマクロでよく使われるループ処理は2つあります。
一つがfor処理、もう一つがwhile処理です。
今回はforについて触れてみたいと思います。
6.1.1.1. forコマンドの構文
forコマンドはforで指定した条件に従って、nextまでの間に記述された動作を繰り返します。
forのコマンド構文は以下のようになります。
1 2 3 |
for 初期値 最初の値 最後の値 コマンド文 next |
6.1.1.2. 空Enterを10回繰り返すマクロ
例えば10回空Enterを繰り返す場合、以下のようなコマンドになります。
1 2 3 |
for i 1 10 sendln '' next |
iの変数部分には最初の値で指定した数値を代入します。
ですので、
1 |
for i 1 10 |
と書いた場合、
1 |
i = 1 |
を書いているのと同じ状態です。
6.1.1.3.「最初の値」と「最後の値」は どちらが大きくてもよい
さらに、forコマンドでは、
1 2 3 |
for i 10 1 sendln '' next |
と書いても10回空Enterを繰り返すことができます。
これはなぜかというと、forコマンドでは、「最初の値」に指定した値と「最後の値」に指定した値を自動的に調べて、nextが来るたびにiの値に1を足すか1を引いてくれるからです。
6.1.1.4. 空Enterを10回繰り返すマクロの中身
実際にどういう風な動きかをコマンドにコメントアウトすると以下のようになります。
1 2 3 4 |
for i 10 1 ;<= iを初期値変数、10を代入 sendln '' ;<= 空Enterを実行 next ;<= nextに到達したので、iから1をマイナス。 ;この時点でiに9が上書きされる(最初に戻る) |
下記は「最初の値」が「最後の値」より小さい場合です。
1 2 3 4 |
for i 1 10 ;<= iを初期値変数、1を代入 sendln '' ;<= 空Enterを実行 next ;<= nextに到達したので、iに1をプラス。 ;この時点でiに2が上書きされる(最初に戻る) |
6.1.2. まとめ
forを使うと、tera termマクロでループを作ることができます。
forとnextでコマンドが構成され、nextが来るたび初期値に1が足されるか引かれます。
forで指定した値に到達するまで、ループが繰り返されます。
今回はforを使ってループを書いてみましたが、次回はwhileを使ってループを書いてみたいと思います。