Cursus Raku / Geavanceerd / Besturingsstructuren / Phasers / Exercises / Begin eerst

Oplossing: Begin eerst

Hier is een mogelijke oplossing voor de opgave.

Code

my $compiled = BEGIN { 2 + 3 };

say $compiled;

🦋 Je kunt de broncode vinden in het bestand begin-first.raku.

Uitvoer

5

Opmerkingen

  1. BEGIN { 2 + 3 } wordt tijdens de compilatie uitgevoerd en levert 5 op. Gebruikt als expressie geeft een BEGIN-blok zijn waarde terug, die wordt toegewezen aan $compiled.

  2. De berekening vindt slechts eenmaal plaats, tijdens de compilatie; tegen de tijd dat het programma draait, bevat $compiled simpelweg de constante 5. Dit is hoe BEGIN wordt gebruikt om waarden vooraf te berekenen, niet alleen om iets vroeg af te drukken.

Cursusnavigatie

Begin eerst   |   De volgorde van ENDs