Cursus Raku / Geavanceerd / Operatoren / Traits en pragma’s
Pragma’s
Een pragma ziet eruit als een module die je met
use laadt, maar in plaats van code binnen te halen
verandert hij een compilatieregel voor de rest van het huidige bereik.
Zet er een aan met use en (waar dat zin heeft) uit met
no.
Het belangrijkste pragma, strict, staat in Raku
standaard aan: het eist dat elke variabele gedeclareerd
is voor gebruik, en daarom wordt een typefout in een variabelenaam
opgemerkt in plaats van stilzwijgend een nieuwe variabele aan te
maken.
strict uitzetten met no strict heft die eis
op, zodat je kunt toekennen aan een variabele die nooit met
my gedeclareerd is:
no strict;
$x = 42;
say $x; # 42Met het standaard strict van kracht zou die kale
$x = 42 een compilatiefout zijn — Variable ‘$x’ is not
declared. De regel no strict versoepelt de regel voor
de rest van het omvattende bereik.
Andere pragma’s zijn onder meer fatal (dat een stille
mislukking omzet in een geworpen exceptie — handig zodra je
exceptieafhandeling hebt gezien), isms (om idiomen uit
andere talen toe te staan) en variables (om de regels voor
variabelen bij te stellen). De werking van een pragma is
lexicaal — hij duurt slechts tot het einde van het blok waarin
hij staat — dus je kunt een regel aanscherpen of versoepelen voor
precies dat stuk code waar je dat wilt.
Eén pragma neemt een argument: lib voegt een map toe aan
de lijst die Raku doorzoekt bij het laden van modules — het equivalent
binnen het programma van de opdrachtregeloptie -I:
use lib 'lib';Je grijpt ernaar zodra je je eigen modules gaat schrijven en laden.
Praktijk
Maak de 1 quiz over de inhoud van dit onderwerp.
Cursusnavigatie
← Een trait schrijven | Quiz — Pragma’s →
💪 Of ga direct naar de oefeningen in deze
sectie.