Wie kann ich im Allgemeinen einen Verweis auf ein Objekt erhalten, dessen Name ich in einer Zeichenfolge habe?
Insbesondere habe ich eine Liste der Parameternamen (die Mitgliedsvariablen - dynamisch erstellt, sodass ich nicht direkt auf sie verweisen kann).
Jeder Parameter ist ein Objekt, das auch eine from_s
Methode hat.
Ich möchte so etwas wie das Folgende machen (was natürlich nicht funktioniert ...):
define_method(:from_s) do | arg |
@ordered_parameter_names.each do | param |
instance_eval "field_ref = @#{param}"
field_ref.from_s(param)
end
end
quelle
So erhalten Sie eine Instanzvariable aus dem Namen einer Instanzvariablen:
Dies gibt den Wert der Instanzvariablen zurück
@paramName
quelle
:attr_reader varname
um dann sauberer und weniger ausführlich auf die Variablen zuzugreifen.