Fixnum.methods.sort
=> [:!, :!=, :!~, :<, :<=, :<=>, ..., :trust, :untaint, :untrust, :untrusted?]
为什么不显示:*
,:/
,:+
,:-
,:%
(或:"*"
,{{1}等等)作为方法?
I see他们被认为是方法。
答案 0 :(得分:1)
Fixnum
是Class
的一个实例。 Class
未定义*
实例方法(甚至会做什么),Class
的祖先(Module
,Object
,{{ 1}},Kernel
)。
现在,BasicObject
是1
的一个实例,由于Fixnum
定义了Fixnum
实例方法,因此当您询问时,该实例方法会显示{ {1}}关于其方法:
*
您可以看到1
定义了名为1.methods.sort
# => [:!, :!=, :!~, :%, :&, :*, :**, :+, :+@, :-, :-@, :/, :<, :<<, :<=, … ]
的实例方法:
Fixnum
答案 1 :(得分:-1)
因为它们不是Fixnum
的类方法。