我在最高级别的执行环境中理解,<代码>自封代码>是某些预先界定的类别目标<代码>。 目标代码>。
puts self.class.inspect #=> Object
而且
puts self.class.ancestors.inspect #=> [Object, Kernel, BasicObject]
但是,为什么我找不到这样的方法?
puts self.class.instance_methods.include?(:puts) #=> false
预计true
,因为Kernel
是includ
in Object
, 任何人能否告诉我,为什么会将false
?
Solved
<编码>puts在Kernel
中被定义为私人查询方法。
Kernel.private_instance_methods.include?(:puts) #=> true
我很想知道,为什么在<代码>Kernel的公开测试方法清单中,核心标识是puts
。