Erhalte attr_accessor / Instanzvariablen in Ruby

7

Ich weiß also, dass Sie alle Instanzvariablen in Ruby bekommen können, indem Sie #instance_variables aufrufen, aber wenn sie noch nicht gesetzt wurden, werden sie nicht angezeigt.

Beispiel

%Vor%

Ich möchte sofort auf alle von attr_accessor definierten Instanzvariablen zugreifen.

%Vor%     
Chris 18.05.2012, 14:00
quelle

3 Antworten

15

Nun, sie existieren noch nicht. Instanzvariablen entstehen bei der ersten Zuweisung. Wenn Sie sie in einer brandneuen Instanz haben möchten, dann berühren Sie sie im Konstruktor.

%Vor%     
Sergio Tulentsev 18.05.2012, 14:04
quelle
5

Nun, attr_accessor erzeugt ein Paar Methoden, einen Setter und einen Getter. Ich bin mir nicht sicher, ob es eine eingebaute Möglichkeit gibt, eine Liste zu erhalten, aber Sie könnten die Instanzmethoden für die resultierenden Paare durchsehen:

%Vor%     
Rob Davis 18.05.2012 14:16
quelle
0

Wie wäre es mit Methoden minus den Methoden von Object oder Class? Das zurückgegebene Array enthält Ihre definierten Attribute / Methoden und die in getter / accessor definierten Instanzvariablen.

%Vor%     
xjlin0 15.02.2015 05:23
quelle