Спецификация Ruby Language позволяет Integer
иметь подклассы, специфичные для реализации.См. Раздел 15.2.8.1, строки 27-33.
Похоже, что ваша реализация имеет такие подклассы.В этом случае метод +
может быть переопределен в подклассе.
Мое лучшее предположение состоит в том, что у вас есть реализация, которая различает Fixnum
s и Bignum
s, и что наш Integer#+
переопределяется на Fixnum#+
.
Кстати, даже если бы то, что вы пытались сделать, работало, это не было бы переопределением , это было бы перезаписью .
Также обратите внимание, что если бы то, что вы пытались сделать, работало, вы, скорее всего, сломали бы ваш процесс Ruby, поскольку Integer
s являются фундаментальными и широко используются повсеместно в Ruby.