我看起来很高,也许我只是练习一点,但我似乎无法找到如何做到以下几点。在Ruby中通过字符串访问成员?
我有一个字符串/符号,例如"a"
或:a
。该类B
包含一个数据成员@a
。我期待访问该成员以这样的方式:
def method object_of_class_B, string_or_symbol_referencing_the_member
object_of_class_B.some_other_method string_or_symbol_referencing_the_member = 010
end
这样我就可以拨打电话:
method c, :a
,并有同样的效果,如果我写了:
c.a = 010
灿任何人都指向我的解决方案?在学习中,我完全错过了关键Ruby的一部分吗?
这仅与调用'C.A =“新value''同样的效果,如果一个'='方法设置实例变量'@了'并没有别的。例如,如果'c'是一个活动记录对象,那么使用instance_variable_set不会产生所需的效果。 – sepp2k 2012-04-24 14:28:52
虽然第二个想法,OP确实说他有一个实例变量@a。所以没关系...... – sepp2k 2012-04-24 14:29:57
你是对的。 @xuinkrbin需要熟悉他/她'摆弄'的课程。 – Jamie 2012-04-24 14:32:50