USE 文は,プログラム単位に対して,モジュール内の公開言語要素の参照を提供します。詳細は,「USE」を参照してください。
例
モジュール内の言語要素は,与えられた名前または主プログラム単位の USE 文で宣言された別名のどちらかで参照することができます。以下に例を示します。
USE MODULE_LIB, XTABS => CROSSTABS
この文は,名前 XTABS によって MODULE_LIB 内の CROSSTABS と呼ばれるルーチンを参照します。CROSSTABS と呼ばれるルーチンが 2 つのモジュールにある場合,この方法によって,1 つのプログラムが USE 文で局所名を割り当てることで同時にそれらを使うことができるようになります。
プログラムまたは副プログラムがモジュール言語要素の名前を変更すると,局所名 (前の例の XTABS) は,その名前を付けたプログラム単位の有効域内で参照可能です。
ONLY 句により,公開変数の名前を変えることができます。以下の例を考えます。
USE MODULE_A, ONLY: VARIABLE_A => VAR_A
この場合,親プログラムはモジュール A から VAR_A のみを参照でき,それを名前 VARIABLE_A で引用します。
以下の例を考えます。
MODULE FOO integer foos_integer PRIVATE integer foos_secret_integer END MODULE FOO
この場合,PRIVATE はモジュール FOO 全体に対して PRIVATE 属性を基本にします。foos_integer を他のプログラム単位から参照可能にするには,次の文を追加します。
PUBLIC :: foos_integer
別の方法として,foos_secret_integer のみをモジュール外から参照できないようにするには,モジュールを以下のように書き換えます。
MODULE FOO integer foos_integer integer, private::foos_secret_integer END MODULE FOO