如何通过反射调用ruby模块方法?

我想要以下工作。这个想法是我可以为路由添加方法,如果它们存在,我可以稍后使用它们。我正在使用Ruby 1.8。如何通过反射调用ruby模块方法?

module Routes 

def home

#stuff

end

def work

#end

end

end

Routes.method_defined? :home

# true

Routes.send(:home)

#NoMethodError: undefined method `home' for Routes:Module

回答:

用下面的代码,你可以这样做:

Class.new.extend(Routes).send(:home) 

以上是 如何通过反射调用ruby模块方法? 的全部内容, 来源链接: utcz.com/qa/262457.html

回到顶部