Raku kurss / Padziļināti / Konteineri / Skalārie konteineri / Exercises / Tipizēts vai netipizēts
Risinājums: Tipizēts vai netipizēts
Šeit ir iespējams risinājums uzdevumam.
Kods
my $untyped;
my Int $typed;
dd $untyped;
dd $typed;
$untyped = 42;
$typed = 42;
dd $untyped;
dd $typed;🦋 Atrodiet programmu failā reuse-the-container.raku.
Izvade
$untyped = Any
Int $typed = Int
$untyped = 42
Int $typed = 42Komentāri
ddabus konteinerus apraksta atšķirīgi. Tam, kam nav tipa, tā izdrukā tikai$untyped, bet tam, kam tips ir, priekšā liek deklarēto tipu:Int $typed. Tieši šis priekšlikums ir tā atšķirība, ko rada deklarēts tips.Atšķiras arī tukšās vērtības. Konteiners bez tipa sākas ar kailo nedefinēto vērtību
Any, turpretī konteiners ar tipu sākas ar sava tipa nedefinēto vērtībuInt.Pēc tam, kad abiem piešķirts
42, vērtības izskatās vienādas, taču$typedjoprojām nes savu tipu un noraidītu vērtību, kas nav vesels skaitlis, — atšķirībā no$untyped, kas pieņem jebko.