Главная » Статьи » Ruby » Более подробно о типах данных |
Преобразование типов данных и случайные числа
Методы явного преобразования типов
Методы преобразования типов в Ruby традиционно начинаются с приставки to_. Последующая буква — это сокращение от названия класса, в который происходит преобразование (f — Float — число с плавающей запятой, i — Integer — целое, s — String — строка, a — Array — массив). Посмотрим их действие на примере: 7.to_f #=> 7.0 7.9.to_i #=> 7 7.to_s #=> "7" "7".to_a #=> ["7"] Случайное число
Часто требуется получить случайное число. Пример: rand(100) #=> 86 rand #=> 0.599794231588021 В первом случае метод rand возвращает целое число в диапазоне от 0 до 99 (на единицу меньше 100). Во втором случае метод rand возвращает число с плавающей запятой в диапазоне от 0.0 до 1.0 включительно. Различие в результате обусловлено передаваемым параметром: если передаётся параметр (в данном случае 100), то генерируется целое случайное число (в диапазоне 0...N, где N — передаваемый аргумент); если параметр отсутствует, то генерируется число с плавающей запятой в диапазоне от 0.0 до 1.0. Есть способ предсказать весь ряд «случайных» чисел. Делается это при помощи метода srand. Ему передаётся целое число (идентификатор «случайной» последовательности). После этого весь случайный ряд можно предугадать. Проведём эксперимент: берусь угадать массив, который будет создан следующей программой. srand 123 Array.new(5){ rand(100) } #=> [66, 92, 98, 17, 83] Если вы выполните данную программу у себя, то получите тот же самый массив. 123 — номер «случайной» последовательности. Измените его и массив изменится! Если вызвать srand без параметра или не вызывать его вообще, то номер «случайной» последовательности выбирается случайным образом. | |||||||||||
Просмотров: 3652 | Комментарии: 2 | | |
Всего комментариев: 2 | |||
| |||