Gatling のソース コードを調べているときに、次の構文に遭遇しました。
private[http] def build = {
// ...
}
角括弧内の構文は何ですか?
IDE でクリックすると、完全修飾パッケージ ( com.excilys.ebi.gatling.http
) のエイリアスですが、そのエイリアスが定義された場所が見つかりません。
scala リファレンス、特に 5.2 章を参照してください。一部抜粋:
private 修飾子は、テンプレート内の任意の定義または宣言で使用できます。このようなメンバーには、直接囲んでいるテンプレートとそのコンパニオン モジュールまたはコンパニオン クラス (§5.4) 内からのみアクセスできます。サブクラスには継承されず、親クラスの定義をオーバーライドすることはできません。
修飾子は、定義を囲むクラスまたはパッケージを示す必要がある識別子 C (たとえば、private[C]) で修飾できます。このような修飾子でラベル付けされたメンバーは、それぞれパッケージ C 内のコードからのみ、またはクラス C とそのコンパニオン モジュール内のコードからのみアクセスできます (§5.4)。このようなメンバーは、C 内のテンプレートからのみ継承されます。