Gibt es eine Möglichkeit, eine Variable in einem Modul in Ruby zu erstellen, die sich ähnlich wie eine Klassenvariable verhält? Damit meine ich, dass auf es zugegriffen werden kann, ohne eine Instanz des Moduls zu initialisieren, aber es kann geändert werden (im Gegensatz zu Konstanten in Modulen).
ruby
module
class-variables
Mark Szymanski
quelle
quelle
defined?(@@foo) => "class variable"
.@
Instanzvariablen das gleiche Ergebnis erzielen kann. Gibt es einen bestimmten Grund für die Verwendung von Klassenvariablen? Danke für die Antwort.T.get
undT::get
?Wenn Sie es nicht innerhalb einer Instanz aufrufen müssen, können Sie einfach eine Instanzvariable innerhalb des Modulkörpers verwenden.
Die Instanzvariable gehört
@param
dann zu dem ModulSomeModule
, das eine Instanz derModule
Klasse ist.quelle
Sie können im Modul eine Klasseninstanzvariable festlegen.
quelle
Sie können den Wert auch innerhalb der Moduldefinition initialisieren:
quelle