Scala では、クラスのプライマリ コンストラクターに明示的な本体はありませんが、クラス本体から暗黙的に定義されます。では、フィールドとローカル値 (つまり、コンストラクター メソッドに対してローカルな値) をどのように区別するのでしょうか?
たとえば、次のコード スニペットは、"Programming in Scala" のサンプル コードを修正したものです。
class R(n: Int, d: Int) {
private val g = myfunc
val x = n / g
val y = d / g
}
私の理解では、これにより、プライベート「g」、パブリック「x」および「y」の3つのフィールドを持つクラスが生成されます。ただし、g 値は x フィールドと y フィールドの計算にのみ使用され、コンストラクターのスコープ外では意味がありません。
では、この (明らかに人為的な) 例では、このコンストラクターのローカル値をどのように定義するのでしょうか?