関数の本体にあるクラスコンストラクターパラメーターにアクセスできません。Scalaでは、コンストラクターパラメーターが適切なget/setが定義されたクラスメンバーになります。しかし、以下の例では、コンストラクターパラメーター'p'を参照できません。私が間違っていることはありますか?プレフィックスを付ける必要がありますか?
abstract class MyFunc(in: Int) extends Function1[Int, Boolean] {
val x : Int = 10
}
val dunc = new MyFunc(10) {
def apply(p: Int): Boolean = {
p % in == 0 << compilation error. 'in' value not found
// p % x == 0 << compiles fine
}
}
明示的に定義されたメンバー変数にはアクセスできますが、コンストラクター定義の変数にはアクセスできません。なんで?