Ruby:是否可以设置实例变量的值,其中实例变量通过字符串命名?

前端之家收集整理的这篇文章主要介绍了Ruby:是否可以设置实例变量的值,其中实例变量通过字符串命名?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
不确定这个模式是什么,但这里是场景:
class Some
   #this class has instance variables called @thing_1,@thing_2 etc.
end

有没有办法设置实例变量的值,其中实例变量名由字符串创建?

就像是:

i=2
some.('thing_'+i) = 55 #sets the value of some.thing_2 to 55

解决方法

Object搜索“instance_variable”:
some.instance_variable_get(("@thing_%d" % 2).to_sym)
some.instance_variable_set(:@thing_2,55)

这种模式被称为“爱抚”;如果您要计算这样的密钥,那么明确使用Hash或Array可能是一个更好的主意.

猜你在找的Ruby相关文章