繁体   English   中英

Ruby:如何在没有类对象的情况下获取类的方法?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM