10

当我们只知道它的字符串名称时,有没有办法(元编程?)读/写实例变量?

例如,我在类方法中使用了一个 @my_var 实例变量。在此过程中,我将有一个字符串“my_var”告诉我更改@my_var 实例变量。

当然,我可以使用“if”语句,但我希望它更加动态,因为我的方法中可能有许多不同的实例变量。

我在想一些与“my_var”.classify和其他的东西......

有人有线索吗?

谢谢你的帮助

4

1 回答 1

15

使用instance_variable_setinstance_variable_get。请记住,字符串需要有前导@

@foo = "bar"
# => "bar"
instance_variable_get("@foo")
# => "bar"
instance_variable_set("@foo", "baz")
# => "baz"
@foo
# => "baz"
于 2013-01-07T14:58:51.807 回答