[英]Ruby: listing Fixnum methods does not include arithmetic operators
Fixnum
is an instance of Class
. Fixnum
是Class
的实例。 Class
doesn't define a *
instance method (what would that even do), nor do Class
's ancestors ( Module
, Object
, Kernel
, BasicObject
). Class
没有定义*
实例方法(你会连做),也没有Class
的祖先( Module
, Object
, Kernel
, BasicObject
)。
Now, 1
on the other hand is an instance of Fixnum
, and since Fixnum
defines a *
instance method, that instance method shows up when you ask 1
about its methods: 现在,
1
,另一方面是实例Fixnum
,而且由于Fixnum
定义*
实例方法,该实例方法显示,当你问了1
关于它的方法:
1.methods.sort
# => [:!, :!=, :!~, :%, :&, :*, :**, :+, :+@, :-, :-@, :/, :<, :<<, :<=, … ]
You can see that Fixnum
defines an instance method named *
: 您可以看到
Fixnum
定义了一个名为*
的实例方法:
Fixnum.instance_methods.sort
# => [:!, :!=, :!~, :%, :&, :*, :**, :+, :+@, :-, :-@, :/, :<, :<<, :<=, … ]
因为它们不是Fixnum
类方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.