【发布时间】:2013-11-25 04:02:40
【问题描述】:
我对 Ruby 元编程还很陌生。我正在尝试编写生成的代码 创建类时的“dup”函数,使用应传递给构造函数的字段列表。但是,我不知道如何在创建时访问我正在创建的类的名称。
例如,如果我有这个代码:
class Example
make_dup :name, :value
attr_accessor :name, :value
def initialize(name,value)
@name, @value = name, value
end
end
我希望它创建方法:
def dup
Example.new(name,value)
end
我只是想知道如何在其中插入Example。
【问题讨论】:
-
我不明白你为类生成
dup方法是什么意思,考虑到它继承Class#dup。就获取类对象而言,只要解析了class Example,self就等于Example。您可以使用puts进行验证。 -
你已经回答了我的问题。谢谢。
标签: ruby metaprogramming