このクラスのオブジェクトの初期化中に、提供された値を変数の1つに割り当て、変更できないようにするクラスを作成したいと思います。例えば:
person = Person.new("Tom")
person.name #=> Tom
person.name = "Bob"
これによりエラーが発生するか、次のようになります。
person.name #=> Tom -> still
このクラスのオブジェクトの初期化中に、提供された値を変数の1つに割り当て、変更できないようにするクラスを作成したいと思います。例えば:
person = Person.new("Tom")
person.name #=> Tom
person.name = "Bob"
これによりエラーが発生するか、次のようになります。
person.name #=> Tom -> still
これが役立つと思います:Rubyの静的変数
class Foo
@@foos = 0
def initialize
@@foos += 1
end
def self.number_of_foos
@@foos
end
end
Foo.new
Foo.new
Foo.number_of_foos #=> 2