Raku kurss / Pamati / Datu tipu konvertēšana

Tipu konvertēšana ar prefiksu operatoriem

Vēl viens veids, kā pārvērst objekta tipu, ir izmantot prefiksa operatorus. Tie ir vienas rakstzīmes operatori, kas tiek novietoti tieši pirms vērtības (vai mainīgā).

~ Virknes piespiedu konvertēšana
+ Skaitliskā piespiedu konvertēšana
? Loģiskā piespiedu konvertēšana

Apsveriet piemēru, kurā tiek izveidota loģiskā vērtība no vesela skaitļa:

say ?42; # True

Konvertēšana uz virkni ir līdzīga:

my $n = -30;
my $s = ~$n;
say $s.chars; # 3, jo "-30" ir 3 rakstzīmes

Pamaniet, ka ar skaitlisko konvertēšanu konvertētās vērtības tips atšķiras atkarībā no attiecīgā skaitļa. Salīdziniet šādas konvertēšanas no virknēm:

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

Loģiskajām konvertēšanām ir vēl viena funkcija, ko sauc par so. To var izmantot kā prefiksa operatoru vai kā metodi:

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

Kursa navigācija

Datu tipu konvertēšana / Tipu konvertēšana, izmantojot konstruktoru formas   |   💪 Vingrinājumi: Datu tipu konvertēšana

Šī lapa ir automātiski tulkota ar ChatGPT 4o. Oriģinālais teksts angļu valodā.

Šīs lapas tulkojumi: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська