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
5Opmerkingen
BEGIN { 2 + 3 }wordt tijdens de compilatie uitgevoerd en levert5op. Gebruikt als expressie geeft eenBEGIN-blok zijn waarde terug, die wordt toegewezen aan$compiled.De berekening vindt slechts eenmaal plaats, tijdens de compilatie; tegen de tijd dat het programma draait, bevat
$compiledsimpelweg de constante5. Dit is hoeBEGINwordt gebruikt om waarden vooraf te berekenen, niet alleen om iets vroeg af te drukken.