Kurso de Raku / Esencoj / Datentipa konvertado

Konvertante tipojn kun prefiksaj operatoroj

Alia maniero transformi la tipon de objekto estas uzi prefiksajn operatorojn. Tiuj estas unu-karakteraj operatoroj, kiuj estas metitaj tuj antaŭ la valoro (aŭ variablo).

~ Ŝnura devigo
+ Nombra devigo
? Boolea devigo

Konsideru ekzemplon de kreado de Boolea valoro el entjero:

say ?42; # Vera

Konverti al ŝnuro estas simila:

my $n = -30;
my $s = ~$n;
say $s.chars; # 3, ĉar "-30" havas 3 karakterojn

Notu, ke kun nombra konvertiĝo, la tipo de la konvertita valoro malsamas depende de la nombro en demando. Komparu la sekvajn konvertiĝojn el ŝnuroj:

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

Por Booleaj konvertiĝoj, estas alia rutino nomata so. Vi povas uzi ĝin kiel prefiksan operatoron aŭ kiel metodon:

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

Kurso navigado

Datentipa konvertado / Konvertante tipojn uzante konstruistajn formojn   |   💪 Ekzercoj: Datentipa konvertado

Ĉi tiu paĝo estas aŭtomate tradukita per ChatGPT 4o. Originala angla teksto

Tradukoj de ĉi tiu paĝo: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська