LabTalkでのセミコロンの使用

セミコロンでステートメントを分割する

C言語の構文と同様、LabTalkでもセミコロンが、ステートメントを分割するために使用されます。

通常、各ステートメントはセミコロンで終わります。 しかし、セミコロンの使用について次のような規則があります。

if (m>2) {type "hello"; type "goodbye"} // } の前に; は不要
//if (m>2) {type "hello";} else {type "goodbye";} // } の後に; は不要

遅延実行のための文頭のセミコロン

スクリプトの実行を遅らすために、スクリプトの前にセミコロンを ';' 置くことができます。これは、ウィンドウを閉じたり、新しくプロジェクトを作成するといったボタン自体が消去されるボタン内でスクリプトを実行する必要がある場合に、必要となります。例えば、ボタン内に以下のスクリプトを置くと、おそらくクラッシュするでしょう。

// このウィンドウを閉じるボタン
type "closing this window";
win -cn %H;

これを解決するため、スクリプトを次のように記述します。

// このウィンドウを閉じるボタン
type "closing this window";
;win -cn %H;

実行を遅くするため、文頭のセミコロン ';' の後にすべてのスクリプトを記述します。ステートメントの特定グループを遅延させたい場合、セミコロン';'に続けて、{script} の内側にスクリプトを置くことができます。例えば

// このウィンドウを閉じるボタン
type "closing this window";
;{type "from delayed execution";win -cn %H;}
type "actual window closing code will be executed after this";

関連項目: LabTalk システム変数 @LT