如何通过反射调用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