„Ausdruck wird erwartet“ Fehlermeldung bei Swift Playgrounds?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Auf ein while kann kein else folgen. Entweder wird die Bedingung im Schleifenkopf erfüllt und der Schleifenkörper daraufhin so lange ausgeführt, bis die Bedingung nicht mehr wahr ist oder es kommt von Anfang an zu keiner Iteration. Ein else muss allerdings einem if folgen.

if someCondition {
  // ...
}
else if someOtherCondition {
  // ...
}

Eine Lösung für dein Problem wäre die Änderung der Reihenfolge. Prüfe erst, ob die Bedingung deines else if zutrifft, entferne aber das Schlüsselwort else. Wenn sich durch den darauffolgenden Code-Block der Wert der im Kopf geprüften Variablen ändern könnte, solltest du das Prüfungsergebnis stattdessen erst speichern.

var resultOfYourCondition = // ...

if resultOfYourCondition {
  // ...
}

while !resultOfYourCondition {
  // ...
}

Entferne mal das ";", ich bin mir nicht sicher ob das da hingehört.


NudelholzXXL 
Beitragsersteller
 24.07.2021, 23:39

Das will swift von sich aus. Wenn ich es wegmache schreibt des mir das als weiterenfehler hin

0
regex9  25.07.2021, 09:01
@NudelholzXXL

In dem Kontext, ja. Nach Fehlerbeseitigung kann das Semikolon ruhig weg. Es stellt eine leere Anweisung dar (sie tut also nichts), ist also redundant.

0