我看起來很高,也許我只是練習一點,但我似乎無法找到如何做到以下幾點。在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