Курс языка программирования Raku / Продвинутый уровень / Контейнеры / Скалярные контейнеры / Exercises / Только целые числа

Решение: Только целые числа

Вот одно из возможных решений задачи.

Код

my Int $cars;

$cars = 250.7.Int;
say $cars;
say $cars.WHAT;

🦋 Исходный код можно найти в файле integers-only.raku.

Вывод

250
(Int)

Комментарии

  1. Ограничение типа Int в my Int $cars заставляет контейнер отклонять любое значение, не являющееся целым числом. Прямое присваивание 250.7 (значения типа Rat) вызвало бы ошибку компиляции.

  2. Вызов .Int для рационального значения 250.7 преобразует его в целое число 250, отбрасывая дробную часть. Преобразованное значение подходит для контейнера. Не путайте это поведение с округлением.

  3. Псевдометод .WHAT подтверждает, что значение, хранящееся в контейнере, имеет тип Int.

Навигация по курсу

Только целые числа   |   Типизированный или нетипизированный