Ruby:如何在没有对象的情况下获得类的方法?
“abc”.respond_to.(:sub)返回true,但String.respond_to.(:sub)返回false。 第二个返回false,因为它询问类的对象是否有方法子类,因为String是类的对象。方法()也是如此Ruby:如何在没有对象的情况下获得类的方法?,ruby,reflection,Ruby,Reflection,“abc”.respond_to.(:sub)返回true,但String.respond_to.(:sub)返回false。 第二个返回false,因为它询问类的对象是否有方法子类,因为String是类的对象。方法()也是如此 如何做这些事情,特别是在不创建该类的对象的情况下响应?()。您可以使用方法定义?方法,在模块类中声明。如果您试图确认某个方法是否存在,String.method\u defined?:sub将起作用。如果您对实例方法特别感兴趣,请使用以下方法: String.insta
如何做这些事情,特别是在不创建该类的对象的情况下响应?()。您可以使用
方法定义?
方法,在模块类中声明。如果您试图确认某个方法是否存在,String.method\u defined?:sub
将起作用。如果您对实例方法特别感兴趣,请使用以下方法:
String.instance_methods.index 'sub'
请注意,您必须使用字符串,而不是符号。Array#include?比数组#索引更能显示意图。