Scala/外部からのみ読み取り専用のフィールドを作る
このようにする。
class Piyo {
private var _hoge
def hoge = _hoge
}
scala ではフィールドとメソッドは同一なものなので、同じ名前をつけることができない。
そこで private なフィールドには アンダースコアを頭につけて別物とする。Scala のアンダースコアには結構いろいろな機能があるが、これは別に機能ではなく、こういう命名にしているだけである。
英語圏の情報を漁っても、このような命名で名前の重複を回避していることが多かった。