0
我想動態地定義類的attr_accessor,但它使生成的方法是私人的。如何在不使用普通類語法或自己編寫方法的情況下不發生錯誤?爲什麼attr_accessor將我的方法設爲私有?
klass = Class.new
klass.send(:attr_accessor, 'name')
instance = klass.new
instance.name
NoMethodError: private method `name' called for #<#<Class:0x007fce725ec660>:0x007fce72607b18>
您使用紅寶石2.0? –
剛剛嘗試過你的剪切,它可以與MRI 2.1.0一起使用。你使用的是什麼版本的Ruby? – tompave
我試過版本1.9.3,也工作。但後來嘗試紅寶石2.0,我得到了與你一樣的錯誤。 –