修飾子

有効範囲内に、同時に同じ名前を 2 つ持つことはできません。 しかし、別のパーツからアクセス可能な識別子のほとんどは、論理的にコンテナーの内部にあるメモリー領域を参照します (Program のような、メインの論理パーツ)。 そのような場合、ドット構文を使用して、その識別子を格納しているコンテナーの名前で名前を修飾します。 この方法で、以下の識別子を修飾することができます。
例えば、変数 customerBalancemyCustomer というレコード変数内にある場合、 コードでは、次のように、その変数をレコードのフィールドとして参照します。
  myCustomer.customerBalance
同じ識別子が 2 つの有効範囲内にある場合、その識別子への非修飾参照は、すべて最もローカルな有効範囲への参照となります。修飾子を使用して、振る舞いをオーバーライドすることができます。ライブラリー customerLib にアクセスするための use 宣言のあるプログラムについて考えます。このプログラムとライブラリーは、それぞれが getCustomer() という名前の関数を宣言しています。次のようにして、変数名を修飾することができます。

詳しくは、式におけるネーム解決を参照してください。


フィードバック