Курс по 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

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

Преобразуване на типове с форми на конструктора   |   Истински и фалшиви числа


💪 Или преминете направо към упражненията в този раздел.