Raku kurss / Pamati / Loģiskais tips / Vingrinājumi / 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
True
Komentā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 loop
Papildu 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 2
Tas 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ā.
Kursa navigācija
← Skaitļi / Operācijas ar skaitļiem | Diapazoni →
Šī lapa ir automātiski tulkota ar ChatGPT 4o. Oriģinālais teksts angļu valodā.
Šīs lapas tulkojumi: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська