コンパニオン オブジェクトを理解しようとしているときに、クラスがインスタンス化された回数をカウントする次のコードを記述しました。カウントを維持するには、「var」を使用する必要がありました。同じタスクを達成するための「関数型プログラミング」の方法、つまり不変変数を使用する方法はありますか。
class C {
C.counter+=1
def someCFunction = {println ("some C function. Counter is "+C.counter)}
}
object C{
var counter:Int=0 //I do not want to use var
}
val c1 = new C
c1.someCFunction
val c2 = new C
c2.someCFunction