グローバル
Caché の グローバル は、他言語のグローバルと意味が異なります。他言語のグローバル変数は、モジュール内にある複数のサブルーチンと関数にグローバルです。Caché のグローバル変数は、ディスクに保存されるため、すべてのプロセスに対してグローバルです。以下はその概要です。
用語 | 意味 | アクセス範囲 | 例 |
---|---|---|---|
グローバル | ディスク上の永続配列 | ディスクにアクセスできるすべての Basic 処理と、すべてのルーチンはこの変数にアクセスできます。 | ^A |
プロセス・プライベート・グローバル | ディスク上の永続配列 | グローバルですが、この変数にアクセスできるのは、プロセスで実行されたルーチンに限られます。プロセス・メモリの制限を超えて増大可能なモジュール・レベル変数のように動作します。 | ^||A |
モジュール・レベル (グローバル) 変数 | Basic ルーチン内、サブルーチン外、関数で定義される変数 | モジュール内のサブルーチンと関数はこの変数にアクセスできます。 | A |
プライベート (ローカル) 変数 | サブルーチンあるいは関数で定義される変数 | 変数を定義するサブルーチンあるいは関数のみがこの変数にアクセスできます。 | A |
Basic のグローバルを理解するのは非常に簡単です。これまで学習してきた配列はすべてグローバルです。配列は宣言する必要がなく、ディスクにデータを格納する場合、(グローバル名に “^” を使用して) 割り当て文を使用するだけで済みます。前述のアニメーションで学習したように、ディスクにツリー構造を構築します。また、ディスク容量は値が割り当てられた場合にのみ必要です。3 つの Erase* 関数は、グローバルのパートやセクションを消去します。その際は、グローバル全体 (何百万のレコードを持つこともあります) を瞬時に消去します。通常の変数で使用する関数やコマンドのほとんどは、グローバルで同様に機能します。唯一の違いは、グローバル名の場合、先頭に “^” (キャレット) または “^||” 文字を使用することです。