Инициализация массива и увеличение количества методов? В чем секрет? - PullRequest
1 голос
/ 26 сентября 2011

Этот вопрос может быть странным, или я просто тупой.

>> Array.methods.count
=> 97
>> a = Array.new.methods
=> 167

Что вызывает увеличение количества методов после инициализации и присвоения массива.

1 Ответ

5 голосов
/ 26 сентября 2011

Вы считаете две вещи: методы класса и методы экземпляра.Вы можете сравнить его с 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 определено только в классе, но нев инстанции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...