Главная » Статьи » Ruby » Более подробно о типах данных

Семейный портрет чисел
Семейный портрет чисел
 
Числовые типы данных

В отличие от большинства элементарных типов данных, числа обладают своей иерархией. Все числа в Ruby наследованы от класса Numeric (числовой). Поэтому, если хотите добавить новый метод ко всем числам, то нужно расширять именно этот класс. Далее идёт деление чисел: Integer (целое), Float (число с плавающей запятой) и Complex (комлексное). При желании можно добавить и Rational (рациональное), но на данном семейном портрете оно отсутствует.

От класса Integer наследуются два класса: Fixnum (фиксированное целое) и Bignum (большое целое). К первому относятся все числа, по модулю меньшие 2^31, а ко второму — все остальные.
Fixnum автоматически становится Bignum по превышении 2^31 по модулю. И наоборот, падая ниже, Bignum преобразуется в Fixnum.
Из отрицательного числа можно получить корень, когда подключена библиотека mathn. Он будет типа Complex.
Как только число типа Complex лишается мнимой части, то оно становится либо Integer (Fixnum или Bignum), либо Float (в зависимости от типа действительной части). Если подключена библиотка mathn, может получиться число типа Rational.
Если в результате арифметических действий в числе типа Rational знаменатель приравнивается 1, то оно преобразуется к числу Integer.

Категория: Более подробно о типах данных | Добавил: Kostya (10.05.2009)
Просмотров: 1764 | Теги: Float, INT, Bignum, Complex, Fixnum, Ruby | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]