Menu
Coddy logo textTech

Verschachtelte If - Else-Anweisungen

Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 24 von 88.

Was ist, wenn Sie mehr als zwei Bedingungen prüfen müssen? Sie können eine if-else-Anweisung in eine andere if-else-Anweisung einfügen. Dies wird als Verschachtelung bezeichnet und ermöglicht es Ihnen, mehrere Entscheidungspunkte zu verarbeiten.

score = 85

if score >= 90
  puts "Grade: A"
else
  if score >= 80
    puts "Grade: B"
  else
    puts "Grade: C"
  end
end

Ruby prüft die erste Bedingung. Wenn diese falsch ist, wechselt es zum else-Block, in dem ein weiteres if-else wartet. Dies erzeugt eine Kette von Entscheidungen, von denen jede die Möglichkeiten einschränkt.

Ruby bietet eine sauberere Möglichkeit, dies mit elsif zu schreiben, was else und if zu einem Schlüsselwort kombiniert:

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
else
  puts "Grade: C"
end

Beide Beispiele liefern das gleiche Ergebnis, aber elsif hält Ihren Code flacher und einfacher zu lesen. Sie können so viele elsif-Bedingungen verketten, wie Sie benötigen, und das abschließende else fängt alles ab, was nicht auf die vorherigen Bedingungen zutrifft.

challenge icon

Aufgabe

Einfach

Ihnen wird die folgende Variable zur Verfügung gestellt:

temperature = 15

Erstellen Sie ein Wetterberatungssystem unter Verwendung von if, elsif und else, um die Temperatur zu klassifizieren und die entsprechende Nachricht auszugeben:

  • Wenn temperature größer oder gleich 30 ist, geben Sie Hot - Stay hydrated aus
  • Wenn temperature größer oder gleich 20 ist, geben Sie Warm - Enjoy the day aus
  • Wenn temperature größer oder gleich 10 ist, geben Sie Cool - Bring a jacket aus
  • Wenn temperature größer oder gleich 0 ist, geben Sie Cold - Bundle up aus
  • Andernfalls geben Sie Freezing - Stay indoors aus

Geben Sie nur die einzelne Nachricht aus, die der Temperatur entspricht.

Spickzettel

Sie können if-else-Anweisungen ineinander verschachteln, um mehrere Bedingungen zu prüfen:

score = 85

if score >= 90
  puts "Grade: A"
else
  if score >= 80
    puts "Grade: B"
  else
    puts "Grade: C"
  end
end

Ruby bietet elsif als eine sauberere Möglichkeit, mehrere Bedingungen zu verketten:

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
else
  puts "Grade: C"
end

Sie können so viele elsif-Bedingungen wie nötig verketten. Das abschließende else fängt alles ab, was nicht den vorherigen Bedingungen entspricht.

Probier es selbst

temperature = 15

# TODO: Schreibe deinen Code unten, um die Temperatur zu klassifizieren
# Verwende if, elsif und else, um die entsprechende Wetterwarnung auszugeben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen