【发布时间】:2011-07-28 03:54:42
【问题描述】:
我有以下课程
class User
attr_accessor :name, :age, :address
def initialize()
self.name = "new user"
self.age = 19
self.address = "address"
end
end
如果有一种方法可以将分配的值分配给属性,我想要什么。意思是,我有另一种方法来获取上述类中的所有方法名称
methods = self.public_methods(all = false)
我可以从中获取方法名称(我的意思是名称等的获取器),我想要一种方法来传递该方法名称(我将其作为字符串)并获取方法的返回值
例如:
当我将“名称”作为方法名称传递时,我应该能够获得“新用户”作为值
希望我把我的问题说清楚了,提前谢谢
** 请注意,我必须使用这种方式,因为我的类有很多属性并且它有很多继承的类。因此,不可能单独访问每个 attr :D
【问题讨论】:
-
您已经拥有由
attr_accessor :name定义的name方法。那有什么问题?我不明白你的问题。
标签: ruby class methods metaprogramming