[英]How to print all methods of Fixnum class in ruby
我想在ruby中打印Fixnum类的所有方法。 当我输入Fixnum.methods
它给出了我不理解的这种输出。
[:allocate, :superclass, :<=>, :module_exec, :class_exec, :<=, :>=, :==, :===, :include?, :included_modules, :ancestors, :name, :public_instance_methods, :instance_methods, :private_instance_methods, :protected_instance_methods
您可能想要实例方法:
Fixnum.instance_methods
要过滤Object
的那些:
Fixnum.instance_methods - Object.instance_methods
考虑安装pry
pry
是一个更好的irb
版本,允许浏览类和对象“好像它们是文件夹”。 例如,参见
$ pry
[1] pry(main)> ls Fixnum
Object.methods: yaml_tag
Fixnum#methods:
% + < == >> bit_length fdiv odd? to_f ~
& - << === [] div inspect ord to_s
* -@ <= > ^ divmod magnitude size zero?
** / <=> >= abs even? modulo succ |
[2] pry(main)>
...
这是一个ruby数组,方法名称用符号表示(另一个ruby东西)。 你可以做到
Fixnum.methods.each { |method| puts method }
来自ruby 2.4.0及更高版本
Integer.methods.each { |method| puts method }
您获得的输出是一组方法名称作为符号。 所以,如果你想打印它们就像这样:
Fixnum.methods.each { |method| puts method }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.