“abc”.respond_to?(:sub)返回true,但String.respond_to?(:sub)返回false。 第二个返回false,因为它询问类Class的对象是否有方法sub,因为String是Class的Object。方法()......
也是如此我如何做这些事情,特别是response_to?()而不创建该类的对象。
答案 0 :(得分:5)
您可以使用method_defined?
类中声明的Module
方法。
答案 1 :(得分:2)
如果您要确认方法是否存在,String.method_defined? :sub
将起作用。如果您对实例方法特别感兴趣,请使用以下内容:
String.instance_methods.index 'sub'
请注意,您必须使用字符串,而不是符号。