Raku-Kurs / Grundlagen / Bedingte Überprüfungen / Vergleichen von Zeichenketten

Quiz 2 — die Bedingung in if*

Korrigieren Sie das Programm und beantworten Sie die Frage.

. my $password = prompt ‘Geben Sie Ihr Passwort ein: ‘;
.  
eq = if $password ␣␣ ‘*&(#&$#Y’ {
.     say ‘Richtig’;
. }
. else {
.     say ‘Falsch’;
. }

Was macht dieses Programm mit dem = im Test?

Druckt immer „Richtig“ Ihre Antwort:  (: Druckt immer „Richtig“, Druckt immer „Falsch“, Druckt „Richtig“ für richtige Passwörter und „Falsch“ für falsche, Druckt „Falsch“ für richtige Passwörter und „Richtig“ für falsche :)
Das Programm druckt immer „Richtig“, weil $password = '*&(#&$#Y' eine Zuweisung ist, die den neuen Wert der $password-Variablen festlegt. Da der Wert weder null noch eine leere Zeichenkette ist, wird er als True betrachtet. Das vom Benutzer eingegebene Passwort wird in diesem Fall nie überprüft.

Wenn Sie == eingeben, wird das Programm fehlschlagen, da es versucht, die Zeichenketten (das Benutzerpasswort und das richtige Passwort) in Zahlen umzuwandeln und dabei scheitert.

Kursnavigation

Bedingte Überprüfungen / Vergleichen von Zahlen   |   Bedingte Überprüfungen / Ternärer Operator


💪 Or jump directly to the exercises to this section.

Diese Seite wurde automatisch mit ChatGPT 4o übersetzt. Originaler englischer Text.

Übersetzungen dieser Seite: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська