Cursus Raku / Geavanceerd / Containers / Scalaire containers / Exercises / Alleen gehele getallen

Oplossing: Alleen gehele getallen

Hier is een mogelijke oplossing voor de opgave.

Code

my Int $cars;

$cars = 250.7.Int;
say $cars;
say $cars.WHAT;

🦋 Je kunt de broncode vinden in het bestand integers-only.raku.

Uitvoer

250
(Int)

Opmerkingen

  1. De Int-typebeperking in my Int $cars zorgt ervoor dat de container elke waarde weigert die geen geheel getal is. Een directe toewijzing van 250.7 (een Rat) zou een compile-time fout opleveren.

  2. Het aanroepen van .Int op de rationele waarde 250.7 converteert deze naar het gehele getal 250 door het decimale deel weg te laten. De geconverteerde waarde past in de container. Verwar dit gedrag niet met afronden.

  3. De .WHAT-pseudomethode bevestigt dat de waarde die in de container is opgeslagen van het type Int is.

Cursusnavigatie

Alleen gehele getallen   |   Getypt of ongetypt