1
這個問題可能很奇怪,或者我很笨。數組初始化和方法數增加?什麼祕密?
>> Array.methods.count
=> 97
>> a = Array.new.methods
=> 167
在陣列初始化和賦值之後,什麼原因導致方法數量增加。
這個問題可能很奇怪,或者我很笨。數組初始化和方法數增加?什麼祕密?
>> Array.methods.count
=> 97
>> a = Array.new.methods
=> 167
在陣列初始化和賦值之後,什麼原因導致方法數量增加。
您正在計數兩件事:類方法和實例方法。您可以與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
只在類中定義,而不是在實例。