ruby Klassenvariable

#3062786
Lesenswert?

Was ist der Unterschied zwischen diesen beiden Variablen:
1
class Test
2
   @v = 1
3

4
   def initialize
5
      @@w = 2
6
   end
7
end

@@w ist eine Klassenvariable, aber was ist @v?

Wenn @v zugewiesen wird, zeigt self auf die Eigenklasse Test, @v 
existiert also in Test - genau wie die zur Instanz-Initialisierung 
zugewiesene @@w.

Heißt das, daß @@w eine Kurzschreibweise ist für irgendwas in dieser 
Art:
1
class Test
2
   def initialize
3
      class <<self; self; end.@w = 2
4
   end
5
end

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren