Nun, füge mich zu der Liste der Python-Programmierer hinzu, die sich in Ruby verlieben, aber einen anhaltenden PyAddiction haben. Wie der Post über Pythons getattr suche ich das Ruby-Äquivalent dazu:
%Vor%Dabei ist obj eine Objektinstanz, Attribut ist der Name eines der Attribute des Objekts als String und Wert ist der Wert dieses Objekts. Der entsprechende Code lautet:
%Vor%Ich gehe davon aus, dass es möglich ist (weil alles mögliche in Python jetzt noch einfacher in Ruby ist), kann aber keine Dokumentation davon finden.
Entweder obj.instance_variable_set("@instance_variable", value)
oder obj.send("instance_variable=", value)
.
Erstere setzt die Instanzvariable direkt. Letzteres ruft die Setter-Methode auf, die natürlich nur funktioniert, wenn es eine Setter-Methode gibt, aber andererseits auch funktioniert, wenn Sie eine Setter-Methode haben, die nicht nur eine Instanz-Variable setzt (oder keine Instanz setzt) Variable überhaupt).
Tags und Links ruby