Ruby/Подробнее о числах: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 70:
В отличие от большинства элементарных типов данных, числа обладают своей иерархией. Все числа в Ruby наследованы от класса <code>Numeric</code> (числовой). Поэтому, если хотите добавить новый метод ко всем числам, то нужно расширять именно этот класс. Далее идёт деление чисел: <code>Integer</code> (целое), <code>Float</code> (число с плавающей запятой) и <code>Complex</code> (комлексное). При желании можно добавить и <code>Rational</code> (рациональное), но на данном семейном портрете оно отсутствует.
 
От класса <code>Integer</code> наследуются ''два'' класса: <code>Fixnum</code> (фиксированное целое) и <code>Bignum</code> (большое целое). К первому относятся все числа, по модулю меньшие <math>2^{3130}</math>, а ко второму — все остальные.
 
* <code>Fixnum</code> автоматически становится <code>Bignum</code> по превышении <math>2^{31}</math> по модулю. И наоборот, падая ниже, <code>Bignum</code> преобразуется в <code>Fixnum</code>.