为什么实例方法的数量存在差异?

时间:2015-04-08 05:24:10

标签: ruby-on-rails ruby ruby-1.9.3

在浏览ruby monk时,我已经看到了浮点实例方法的数量为201,但是当我尝试使用我的irb时它只显示了114.如果有人让我理解为什么会有变化,那将会非常有用in实例方法中的count数以及此实例方法所依赖的因素。

puts Float.instance_methods.count

1 个答案:

答案 0 :(得分:2)

Ruby Float类(相同版本)的实例方法总数没有差异。这个数字可能因Ruby版本而异,但没有两个相同的Ruby版本会有不同的实例方法。

  

我已经看到Float实例方法的数量为201

您看到的是Extended Float类的实例方法总数。扩展由Rails完成。

例如,在Rubymonk终端中,Float类的实例方法列表在其列表中显示duplicable?,这显然不是Float类的实例方法。它是通过扩展核心ActiveSupport类在Object中实现的,并且在Rails 3.2.13之后被弃用。