Cursus Raku / Essentiëlen / Voorwaardelijke controles / Strings vergelijken
Quiz 2 — de voorwaarde in if
*
Corrigeer het programma en beantwoord de vraag.
. | my $password = prompt ‘Voer je wachtwoord in: ‘; |
. | |
eq = | if $password ␣␣ ‘*&(#&$#Y’ { |
. | say ‘Correct’; |
. | } |
. | else { |
. | say ‘Incorrect’; |
. | } |
Wat doet dit programma met de =
in de test?
Print altijd ‘Correct’ | Jouw antwoord: (: Print altijd ‘Correct’, Print altijd ‘Incorrect’, Print ‘Correct’ voor correcte wachtwoorden en ‘Incorrect’ voor onjuiste wachtwoorden, Print ‘Incorrect’ voor correcte wachtwoorden en ‘Correct’ voor onjuiste wachtwoorden :) |
Het programma print altijd ‘Correct’ omdat
Als je
$password = '*&(#&$#Y'
een toewijzing is die de nieuwe waarde van de $password
variabele instelt. Aangezien de waarde noch nul noch een lege string is, wordt deze als True
beschouwd. Het wachtwoord dat de gebruiker invoert, wordt in dit geval nooit gecontroleerd.Als je
==
typt, zal het programma breken omdat het probeert de strings (het gebruikerswachtwoord en het correcte wachtwoord) naar nummers te converteren en faalt.Cursusnavigatie
← Voorwaardelijke controles / Getallen vergelijken | Voorwaardelijke controles / Ternaire operator →
💪 Or jump directly to the exercises to this section.
Deze pagina is automatisch vertaald met ChatGPT 4o. Originele Engelse tekst.
Vertalingen van deze pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська