USE 文

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