ルビー1.9
Ruby でインスタンス変数を定義および初期化する方法を理解していないことに突然気付きました。特定のクラス内でのみ使用する必要がclass
あり、クラス外ではまったくアクセスできないため、attr_accessor
必要attr_reader
なものではありません。
class MyClass
#how do I initialize it?
@my_var = 'some value'
def method1
#I need to do something with @my_var
puts @my_var
end
def method2
#I need to do something with @my_var
puts @my_var
end
end
a = MyClass.new
a.method1 #empty
a.method2 #empty
だから私はそれを行う別の方法があることを発見しました
class MyClass
#is this the only way to do it?
def initialize
@my_var = 555
end
def method1
#I need to do something with @my_var
puts @my_var
end
def method2
#I need to do something with @my_var
puts @my_var
end
end
a = MyClass.new
a.method1 #555; it's ok
a.method2 #555; it's ok
さて、2番目のアプローチは正しいものですか?