En général, comment puis-je obtenir une référence à un objet dont j'ai le nom dans une chaîne?
Plus précisément, j'ai une liste des noms de paramètres (les variables membres - construites dynamiquement pour que je ne puisse pas y faire référence directement).
Chaque paramètre est un objet qui a également une from_s
méthode.
Je veux faire quelque chose comme ce qui suit (qui bien sûr ne fonctionne pas ...):
define_method(:from_s) do | arg |
@ordered_parameter_names.each do | param |
instance_eval "field_ref = @#{param}"
field_ref.from_s(param)
end
end
la source
Pour obtenir une variable d'instance à partir du nom d'une variable d'instance, procédez comme suit:
Cela renverra la valeur de la variable d'instance
@paramName
la source
:attr_reader varname
afin de pouvoir accéder aux variables d'une manière plus propre et moins verbeuse.