[英]Ruby: How do I get the methods of a class without having an object of it?
“ abc” .respond_to?(:sub)返回true,但是String.respond_to?(:sub)返回false。 第二个返回false,因为它询问Class类的对象是否具有方法sub,因为String是Class的Object。 方法()相同...
我如何做这些事情,尤其是response_to?()而不创建该类的Object。
您可以使用method_defined?
方法,在Module
类中声明。
如果您尝试确认方法是否存在,请使用String.method_defined? :sub
String.method_defined? :sub
将起作用。 如果您对实例方法特别感兴趣,请使用以下方法:
String.instance_methods.index 'sub'
请注意,您必须使用字符串,而不是符号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.