Cursus Raku / Essentiëlen / Boolean type / Oefeningen / Drievoudige negatie
Oplossing: Drievoudige negatie
Het programma dat in de taak wordt getoond, zal niet compileren en vereist een kleine aanpassing. Hier is de correcte en werkende variant (spatie toegevoegd om !
en !!
te scheiden):
Code
my $value = False;
say ! !!$value;
🦋 Je kunt de volledige code vinden in het bestand triple-negation.raku.
Uitvoer
Het programma print een omgekeerde Booleaanse waarde zoals je waarschijnlijk had verwacht:
$ raku triple-negation.raku
True
Opmerkingen
Het was een beetje onverwacht dat het programma met drie uitroeptekens niet compileerde:
$ raku triple-negation.raku
===SORRY!=== Fout tijdens het compileren van /Users/ash/raku-course/exercises/booleans/triple-negation.raku
Twee termen op een rij
op /Users/ash/raku-course/exercises/booleans/triple-negation.raku:2
------> say !!!⏏$value;
verwacht een van:
infix
infix stopper
postfix
statement einde
statement modifier
statement modifier lus
Een extra spatie lost dit probleem op. Maar val niet in een andere valkuil. Overweeg het volgende programma:
my $value = False;
say !!! $value;
Dit programma compileert maar eindigt met de volgende boodschap:
$ raku triple-negation.raku
False
in block <unit> at exercises/booleans/triple-negation.raku line 2
Dit gebeurt omdat !!!
een speciale operator is voor het markeren van een deel van de code als stubcode. Als het programma dit punt bereikt, eindigt het en print het de boodschap, die in ons geval de huidige waarde van de variabele $value
was. Raadpleeg 📖 de documentatie voor meer details.
Cursusnavigatie
← Getallen / Bewerkingen met getallen | Reeksen →
Deze pagina is automatisch vertaald met ChatGPT 4o. Originele Engelse tekst.
Vertalingen van deze pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська