Ruby sucht im Objekt nach Klassenvariablen anstelle einer bestimmten Klasse
Dieser Teil funktioniert:
class Example1
@@var1= "var1 in the Example1"
def get_var1
@@var1
end
end
example1 = Example1.new
example1.get_var1
# => "var1 in the Example1"
aber wenn ich es mit eigenclass versuche:
def example1.get_var1
@@var1
end
example1.get_var1
# NameError: uninitialized class variable @@var1 in Object
# from (pry):128:in `get_var1'
Ruby sieht aus@@var1
in demObject
anstatt desExample
.
Ich habe diesen Code in Ruby 1.9.3 und 2.0 mit dem gleichen Ergebnis getestet.
Warum passiert es?
Die zweite Sache, können wir es ausschalten (soexample.get_var1
wird nicht nach Klassenvariablen im Objekt suchen)?