ZDEALLOCATEコマンドは、指定されたリソースの名前、または、以前にZALLOCATEコマンドで予約された名前をリリースします。 ZDEALLOCATEコマンドは、以前にZALLOCATEまたはLOCKコマンドで予約された他の名前をリリースせずに、指定された名前だけをリリースします。
ZDEALLOCATEのコマンドは、いくつかの他のGT.Mの実装との互換性を提供します。M開発委員会(MDC)は、ZALLOCATEとZDEALLOCATEアプローチを取り入れるのではなく、LOCKコマンドのための + と- のデリミタを追加することを採択しました。したがって、設計がインクリメンタルロックのメカニズムを必要とする時、LOCK +/- は、Mの標準の一部であることの利点があります。 LOCK+/- は、LOCKを使用してルーチンがネストされているときに対称的に働くという利点もあります。
ZDEALLOCATEコマンドのフォーマットは:
ZD[EALLOCATE][:tvexpr] [nref[,...]]
オプションでコマンド直後に続く真理値の式は、GT.Mがコマンドを実行するかどうかをコントロールする後置コマンドです。
nref 引数は、添字の有無、そして、先頭にキャレット( ^ )があろうとなかろうと、GT.M名のフォーマットで名前を指定します。
引数なしのZDEALLOCATEは、プロセスによって現在のZALLOCATEで予約されているすべての名前をリリースしますが、この場合は、行の中で次のコマンドと区別するために、ZDEALLOCATEに続き少なくとも2つのスペースが必要です。
プロセスによって現在所有されていない名前付きリソースをZDEALLOCATEしていても効果はありません。
間接指定演算子と1つ以上のZDEALLOCATEの引数リストに評価される原子式(expression atom)は、ZDEALLOCATEのための正当な引数を構成します。