Raku kurss / Pamati / Mainīgo un datu tipu pamati / Loģiskais tips / Exercises / Trīskārša noliegšana
Risinājums: Trīskārša noliegšana
Programmā, kas parādīta uzdevumā, ir kļūda un tā nesakompilēsies,
nepieciešams neliels labojums. Šeit ir pareizā un strādājošā versija
(pievienota atstarpe, lai atdalītu ! un
!!):
Kods
my $value = False;
say ! !!$value;🦋 Pilnu kodu var atrast failā triple-negation.raku.
Izvade
Programma izdrukā apgrieztu Boolea vērtību, kā jūs droši vien gaidījāt:
$ raku triple-negation.raku
TrueKomentāri
Bija nedaudz negaidīti, ka programma ar trim izsaukuma zīmēm nesakompilējās:
$ raku triple-negation.raku
===SORRY!=== Error while compiling /Users/ash/raku-course/exercises/booleans/triple-negation.raku
Two terms in a row
at /Users/ash/raku-course/exercises/booleans/triple-negation.raku:2
------> say !!!⏏$value;
expecting any of:
infix
infix stopper
postfix
statement end
statement modifier
statement modifier loopPapildu atstarpe atrisina šo problēmu. Bet neiekļūstiet citā slazdā. Apsveriet šādu programmu:
my $value = False;
say !!! $value;Šī programma kompilējas, bet beidzas ar šādu ziņojumu:
$ raku triple-negation.raku
False
in block <unit> at exercises/booleans/triple-negation.raku line 2Tas notiek tāpēc, ka !!! ir īpašs operators, kas apzīmē
koda daļu kā pagaidu kodu. Ja programma sasniedz šo punktu, tā beidzas
un izdrukā ziņojumu, kurā mūsu gadījumā bija mainīgā $value
pašreizējā vērtība. Sīkāku informāciju skatiet 📖 dokumentācijā.