这个问题可能很奇怪,或者我很愚蠢。
>> Array.methods.count
=> 97
>> a = Array.new.methods
=> 167
在初始化和分配数组后,导致方法数量增加的原因。
答案 0 :(得分:5)
你在计算两件事:类方法和实例方法。您可以将其与instance_methods
p Array.methods.count #-> 97
p Array.instance_methods.count #-> 167
p Array.new.methods.count #-> 167
或者看看new
是否是一种有效的方法:
p Array.methods.include?(:new) #true
p Array.instance_methods.include?(:new) #false
new
仅在类上定义,而不是在实例中定义。