Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

プロシージャ変数

プロシージャ内で使用される変数は、自動的にそのプロシージャに対してプライベートになります。つまり、その範囲はプロシージャに対してローカルになります。このプロシージャが呼び出すプロシージャの変数を共有したい場合、変数をパラメータとして他のプロシージャに渡します。

パブリック変数の宣言も可能です。共通のパブリック変数のセットを宣言するプロシージャのいずれもが、それらの変数を共有します。パブリック変数を宣言するには、プロシージャ名とパラメータの後に角括弧内 ([ ]) で変数をリストします。

パブリック (共有) 変数の使用は、推奨できるプログラミング手法ではありません。しかしながら、この例およびチュートリアルの演習では、デモンストレーションを目的として、パブリック変数とプライベート変数を混在して使用しています。

SAMPLES>write

SAMPLES>d ^publicvarsexample

setting a
setting b
setting c
The sum is: 6
SAMPLES>write

a=1
b=2
SAMPLES>

以下は、procexample.mac のコードです。

publicvarsexample
    ; examples of public variables
    ;
    do proc1()   ; call a procedure
    quit    ; end of the main routine
    ;
proc1() [a, b]
    ; a private procedure
    ; "c" and "d" are private variables
    {
    write !, "setting a"  set a = 1
    write !, "setting b"  set b = 2
    write !, "setting c"  set c = 3
    set d = a + b + c
    write !, "The sum is: ", d
    }
FeedbackOpens in a new tab