if,then,elseif,else,endif

【Tera Term マクロ言語】コマンドリファレンス

if,then,elseif,else,endif 機能

[制御コマンド]

条件分岐します。

コマンドライン

・書式 1 (1 ライン)
if <expression> <statement>
・書式 2 (複数ライン)
if <expression 1> then
  ...
  (<expression 1> が真(0以外)の場合に実行されるコマンド)
  ...
[elseif <expression 2> then]
  ...
  (<expression 1> が偽(0)で、<expression 2>が真の場合に実行されるコマンド)
  ...
[elseif <expression N> then]
  ...
  (<expression 1>, <expression 2>,.., <expression N-1> がすべて偽で、<expression N> が真の場合に実行されるコマンド)
  ...
[else]
  ...
  (上の条件すべてが偽の場合に実行されるコマンド)
  ...
endif

機能説明

書式 1 (1 ライン)
もし条件式 <expression> が真 (0以外) ならば、コマンド <statement> を実行します。
書式 2 (複数ライン)
if は、もし条件式 <expression1> が真 (0以外) ならば、次の行のコマンドを実行します。
elseif は、もし条件式 <expression1> が偽 (0) でならば、条件式 <expression2> が真 (0以外) ならば、次の行のコマンドを実行します。
以降の elseif は、直上までの条件に当てはまらず、かつ指定した条件に当てはまる場合に、次の行のコマンドを実行します。
else は、直上までの条件にすべて当てはまらない場合に、次の行のコマンドを実行します。

バージョン 4.90 以降、if と elseif 行の最後には、必ず then を記述する必要があります。

elseif と else はなくても問題なく実行可能です。

書式 2 (複数ライン) の場合は、最後に if の分岐終了を示す endif を記述する必要があります。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<expression>分岐させたい条件式を指定します。
<statement>文字列書式 1 (1 ライン)で書く場合にのみ、実行したいコマンドを指定します。

対象バージョン

全てのバージョンで利用可能です。
バージョン 4.90 より強化された機能があります。

戻り値

戻り値はありません。

関連コマンド

関連コマンドはありません。

使用方法

使用例

・条件 a が 1 の時、処理をする場合
if a=1 then
  b = 1
  c = 2
  d = 3
endif
・条件 i が 0 未満か、それ以外の時、処理をする場合
if i<0 then
  i=0
else
  i=i+1
endif
・条件 i の値によって処理を変更する場合
if i=1 then
  c = '1'
elseif i=2 then
  c = '2'
elseif i=3 then
  c = '3'
else
  c = '?'
endif
・バージョン 4.90 以降、エラー確認処理をする場合
書式2 (if - endif) において then の記述なしは文法エラーとなります。
code = 100
if code != 100
	messagebox 'The code value is not 100.' 'error'
	goto error
else
	messagebox 'The code value is 100.' 'OK'
endif

:error
end

サンプル

以下のサンプルが存在します。

備考

特にありません。