当我们知道它的字符串名称时,是否有一种方法(元编程?)来读/写一个实例变量?
例如,我在类方法中使用了@my_var实例变量.
在这个过程中,我会想要一个字符串“my_var”来告诉我改变@my_var实例变量.
当然我可以使用“if”语句,但我希望它更具动态性,因为我的方法中可能有许多不同的实例变量.
我在考虑使用“my_var”.classify和其他东西……
有人有线索吗?
谢谢你的帮助
解决方法
使用instance_variable_set和instance_variable_get.请记住字符串需要具有前导@:
@foo = "bar" # => "bar" instance_variable_get("@foo") # => "bar" instance_variable_set("@foo","baz") # => "baz" @foo # => "baz"