記事ディレクトリ
第 12 章 ObjectScript - コマンド
注文
このセクションでは、一般的に使用されるコマンドの概要を説明しますObjectScript
。これらには、他の言語のコマンドに類似したコマンドや、他の言語に同等のコマンドがないコマンドが含まれます。
コマンド名は大文字と小文字を区別しませんが、慣例により実行テキストではすべて大文字で表示されます。
使い慣れたコマンド
ObjectScript
次のような、使い慣れたタスクを実行するためのコマンドが提供されています。
-
変数を定義するには、
SET
(前に示したように) を使用します。 -
変数を削除するには、
KILL
前に示したように を使用します。 -
ロジック フローを制御するには、次のコマンドを使用します。
IF
、ELSEIF
一緒にELSE
働きますFOR
WHILE
、単独で使用できますDO
WHILE
一緒に使用できますQUIT
、値を返すこともできます
フロー制御用のコマンドは他にもありますが、使用頻度はそれほど高くありません。
-
エラーを検出するには、
TRY
と を使用しますCATCH
。これらは連携して機能します。 -
値を書き込むには、 を使用します
WRITE
。これにより、現在のデバイス (端末やファイルなど) に値が書き込まれます。引数なしでこのコマンドを使用すると、すべてのローカル変数の値が書き込まれます。
このコマンドは、少数のフォーマット制御コード文字セットを使用して出力をターゲットにすることができます。既存のコードでは、新しい行を開始する感嘆符が表示される場合があります。例えば:
write "hello world",!,"another line"
-
現在のデバイス (端末など) から値を読み取るには、 を使用します
READ
。 -
メインデバイス以外のデバイスを使用するには、次のコマンドを使用します。
OPEN
デバイスを使用できるようにします。USE
WRITE
開いているデバイスを、とが使用する現在のデバイスとして指定しますREAD
。CLOSE
デバイスを使用不可にします。
-
同時実行性を制御するには、 を使用します
LOCK
。IRIS
ロック管理システムは、他の言語の同様のシステムとは異なることに注意してください。仕組みを見直すことが重要です。
このコマンドは、複数のプロセスが同じ変数または他の項目にアクセスする可能性がある場合に使用できます。
- トランザクションを管理するには、
TSTART
、TCOMMIT
、TROLLBACK
および関連コマンドを使用します。 - デバッグには、
ZBREAK
および 関連コマンドを使用します。 - 実行を一時停止するには、 を使用します
HANG
。
多次元配列のコマンド
ではObjectScript
、次の方法で多次元配列を使用できます。
- ノードを定義するには、
SET
コマンドを使用します。 - 単一ノードまたはすべてのノードを削除するには、
KILL
コマンドを使用します。
たとえば、次のコマンドは多次元配列全体を削除します。
kill myarray
対照的に、次のコードはノードmyarray("2 Dec 2010")
とそのすべての子を削除します。
kill myarray("2 Dec 2010")
global
orノードを削除するglobal
が、その子孫は削除しない場合は、 を使用しますZKILL
。- 多次元配列のすべてのノードを反復処理して、それらをすべて書き込むには、 を使用します
ZWRITE
。これは、terminal
で特に便利です。次の端末セッションの例は、出力がどのように見えるかを示しています。
TESTNAMESPACE>ZWRITE ^myarray
^myarray(1)="value A"
^myarray(2)="value B"
^myarray(3)="value C"
この例でglobal
はローカル変数ではなく変数を使用していますが、両方とも多次元配列になる可能性があることに注意してください。
- コピー先の既存のノードをできるだけ保持しながら、ある多次元配列から別の多次元配列にノードのセットをコピーするには、 を使用します
MERGE
。たとえば、次のコマンドはメモリ配列全体 (sourcearray
) を新しいGlobal
(^mytestglobal
) にコピーします。
MERGE ^mytestglobal=sourcearray
これは、コードのデバッグ時に使用されている配列の内容を検査するのに便利な方法です。