Ruby の変数について頭を悩ませようとしているのですが、C# の観点から見たほうがよいのではないかと考えました。
誰かが Ruby の C# に相当するものを教えてくれませんか (例えば @@ == public static variable?):
$ グローバル変数
@ インスタンス変数
@@ クラス変数
[az] ローカル変数
[AZ] 定数
私が見逃している他のタイプの変数はありますか?
@instance 変数がどのように使用/機能されるかについても誰かが説明できますか?
最初は、クラスのインスタンスのグローバル変数だと思っていましたが、インスタンスのメソッドのローカル変数のようなスコープで使用されているのを見ました。
これは「十分に根拠のあるルビー主義者」の例です
class C
def show_var
@v = "i am an instance variable initialized to a string"
puts @v
end
@v = "instance variables can appear anywhere..."
end
C.new.show_var
クラスインスタンスのどこからでも「v」を同じ変数にしたい場合、これを行うためのRubyメカニズムは何ですか?