時々私は次のようなコードを見ます
class Thing
def self.add_em(a,b)
a+b
end
end
そして時々私は見る
class Thing
def self.add_em(a,b)
@a=a
@b=b
@a+@b
end
end
渡されたパラメーターを使用するだけでなく、いつ/なぜ@
インスタンス変数を使用する必要がありますか?
理由の 1 つは、これらの変数を他のメソッドで使用したい場合、インスタンス変数が使用可能になり、ローカルのパラメーター ベースの変数が使用できないことだと思います。ただし、変数が他のメソッドで使用されていない場合でも、@ 変数が使用されていることがよくあります。
そのため、渡されたすべてのパラメーターのメソッドの開始時に @a=a @b=b のパターンが頻繁に使用されていることがわかりますが、それらがそのメソッドで使用されているだけの場合、正確な理由はわかりません。それらが他の方法で使用される場合の単なる慣例ですか?