如何在ruby中打印Fixnum类的所有方法

如何在ruby中打印Fixnum类的所有方法,ruby,class,methods,Ruby,Class,Methods,我想用ruby打印Fixnum类的所有方法。当我键入Fixnum.methods时,它给出了我不理解的这种类型的输出 [:allocate, :superclass, :<=>, :module_exec, :class_exec, :<=, :>=, :==, :===, :include?, :included_modules, :ancestors, :name, :public_instance_methods, :instance_methods, :priva

我想用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
[:allocate,:superclass,:,:module_exec,:class_exec,:=,:=,:==,:include?,:include_模块,:祖先,:name,:public_实例方法,:instance_方法,:private_实例方法,:protected_实例方法

这是一个ruby数组,方法名用符号表示(另一种ruby东西)

Fixnum.methods.each { |method| puts method }
来自ruby 2.4.0及更高版本

Integer.methods.each { |method| puts method }

您得到的输出是一个作为符号的方法名数组。因此,如果要打印它们,请按如下方式执行:

Fixnum.methods.each { |method| puts method }

您可能想要实例方法:

Fixnum.instance_methods
要从
对象中筛选对象

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)>
...
$pry
[1] 撬(主)>ls Fixnum
Object.methods:yaml_标签
Fixnum#方法:
%+<=>>位长度fdiv奇数到~
&-=abs偶数模连续
[2] 撬动(主)>
...

just
put Integer.methods
:)@SergioTulentsev
Integer.methods。每个(&method(:put))都比较干净,不是吗?@mudasobwa不喜欢块,我肯定:D@mudasobwa:我明白了,所有这些长生不老药都在影响你的思维。@SergioTulentsev它让我恢复了理智;)“它给出了这种我不理解的输出。”-是的,这些是方法的名称,您可以在Fixnum上调用它们。您希望看到什么?“它给出了我不理解的这种类型的输出”-这是一个语句,不是一个问题。您期望的结果/输出是什么?还有
Fixnum.instance\u方法(false)
仅适用于那些在
Fixnum
上声明的。而且,IMHO,过滤掉
内核.method
,而不是
对象.methods
@mudasobwa
false
也会过滤内容。这一切都取决于OP对“Fixnum方法”的定义。这可能是Fixnum拥有的方法,也可能是Fixnum响应的方法或介于两者之间的任何方法,即继承自Integer、Numeric、Comparable、Object、Kernel和/或BasicObject的方法(如果我们讨论的是实例方法)。