像这样吗?
class A
module ClassMethods
macro method_missing(call)
{% p call %}
end
end
extend ClassMethods
end
A.a
代码结果为Error : undefined method 'a' for A:Class
。看来method_missing
不适用于类对象。
该问题的原因是我使用current
类方法实现了一个类,以获取当前上下文的实例。为了简化起见,我希望像forward_missing_to
这样的人用MyClass.current.xxx
代替MyClass.xxx
,因此根据method_missing
的实现,需要forward_missing_to
。
我还发现,delegate
适用于使用上述方法的类方法。因此,实际上我的实际问题已经解决,但是我对以下问题仍然很感兴趣:对于类对象,method_missing
是不可能的吗?