ruby-on-rails-3.2 – 如何从“字符串名称”访问实例变量?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3.2 – 如何从“字符串名称”访问实例变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我们知道它的字符串名称时,是否有一种方法(元编程?)来读/写一个实例变量?

例如,我在类方法中使用了@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"
原文链接:/ruby/270664.html

猜你在找的Ruby相关文章