このコードを検討してください:
trait A {
def a : Int
}
def f ( a : Int ) = {
def a0 = a
new A {
def a = a0
}
}
問題は明らかです。def a0 = a
これは典型的な迷惑なボイラープレート コードであり、より多くのパラメーターが導入されると状況が悪化するだけです。
トレイトのインスタンスの宣言内で外部スコープの変数への直接参照を何らかの方法で取得してa
、中間を取り除くことができるかどうか疑問に思っていますa0
。
関数の入力パラメーターの名前の変更は、特性の変更と同様に許可されていないことに注意してください。