Курс Raku / Основи / Більше про типи / Перетворення типів даних

Перетворення типів за допомогою префіксних операторів

Ще один спосіб перетворення типу об’єкта — використання префіксних операторів. Це однобуквені оператори, які розташовуються безпосередньо перед значенням (або змінною).

~ | Приведення до рядка + | Числове приведення ? | Логічне приведення

Розглянемо приклад створення логічного значення з цілого числа:

say ?42; # True

Перетворення до рядка виглядає схоже:

my $n = -30;
my $s = ~$n;
say $s.chars; # 3, оскільки "-30" має 3 символи

Зверніть увагу, що при числовому перетворенні тип перетвореного значення відрізняється залежно від числа. Порівняйте наступні перетворення з рядків:

say (+'100').WHAT;   # (Int)
say (+'3.14').WHAT;  # (Rat)
say (+'27E-1').WHAT; # (Num)

Для логічних перетворень існує ще одна процедура під назвою so. Ви можете використовувати її як префіксний оператор або як метод:

my $value = 42;
say so $value; # True
say $value.so; # True

Навігація курсом

Перетворення типів за допомогою конструкторів   |   Істинні та хибні числа


💪 Або перейдіть одразу до вправ цього розділу.