Ruby Bedingte

Ruby bietet mehrere gängige bedingte Strukturen. Hier erklären wir alle bedingten Anweisungen und Modifikatoren, die in Ruby verfügbar sind.

Ruby if...elseAnweisung

Syntax

if Bedingung [then] Code... [elsif Bedingung [then] Code...]... [else Code...] end

ifEin Ausdruck wird zur bedingten Ausführung verwendet. Der Wertfalseundnilfalse ist falsch, alle anderen Werte sind wahr. Beachte, dass Ruby elsif verwendet, nicht else if oder elif.

WennBedingungwahr ist, dann führeCodeaus. WennBedingungnicht wahr ist, dann führe den im else-Zweig angegebenenCode aus。

Normalerweise lassen wir das reservierte Wort then weg. Wenn du einen vollständigen if-Ausdruck in einer Zeile schreiben möchtest, musst du die Bedingung mit then vom Programmblock trennen. Wie unten gezeigt:

if a == 4 then a = 7 end

Beispiel

#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 if x > 2 puts "x ist größer als 2" elsif x <= 2 and x!=0 puts "x ist 1" else puts "Der Wert von x kann nicht bestimmt werden" end

Ausprobieren »

Das obige Beispiel gibt aus:

x 是 1

Ruby ifModifikator

Syntax

Code if Bedingung

Die if-Modifikator-Phrase bedeutet, dass der Ausdruck links von if nur ausgeführt wird, wenn die Bedingung rechts von if wahr ist. Das heißt, wennBedingungwahr ist, dann führeCode aus。

Beispiel

#!/usr/bin/ruby $debug=1 print "debug\n" if $debug

Ausprobieren »

Das obige Beispiel gibt aus:

debug

Ruby unlessAnweisung

Syntax

unless Bedingung [then] Code [else Code ] end

Der unless-Ausdruck wirkt entgegengesetzt zum if-Ausdruck, das heißt, wennBedingungfalsch ist, dann führeCodeaus. WennBedingungwahr ist, dann führe den im else-Zweig angegebenenCode aus。

Beispiel

#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 unless x>2 puts "x ist kleiner oder gleich 2" else puts "x ist größer als 2" end

Ausprobieren »

Das obige Beispiel gibt aus:

x 小于或等于 2

Ruby unlessModifikator

Syntax

Code unless Bedingung

WennBedingungfalsch ist, dann führeCode aus。

Beispiel

#!/usr/bin/ruby # -*- coding: UTF-8 -*- $var = 1 print "1 -- Diese Zeile gibt aus\n" if $var print "2 -- Diese Zeile gibt nichts aus\n" unless $var $var = false print "3 -- Diese Zeile gibt aus\n" unless $var

Ausprobieren »

Das obige Beispiel gibt aus:

1 -- 这一行输出
3 -- 这一行输出

Ruby caseAnweisung

Syntax

case Ausdruck [when Ausdruck [, Ausdruck ...] [then] Code ]... [else Code ] end

case führt zuerst eine Übereinstimmungsprüfung für denAusdruckdurch und wählt dann einen Zweig basierend auf dem Übereinstimmungsergebnis aus.

Es verwendet den===Operator, umwhenden angegebenenAusdruckzu vergleichen, und wenn sie übereinstimmen, dann ausführenwhenden Inhalt dieses Teils.

Normalerweise lassen wir das reservierte Wort then weg. Wenn du einen vollständigen when-Ausdruck in einer Zeile schreiben möchtest, musst du die Bedingung mit then vom Programmblock trennen. Wie unten gezeigt:

when a == 4 then a = 7 end

Daher:

case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 else stmt3 end

Grundsätzlich ähnlich wie:

_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 else stmt3 end

Beispiel

#!/usr/bin/ruby # -*- coding: UTF-8 -*- $age = 5 case $age when 0 .. 2 puts "Baby" when 3 .. 6 puts "Kind" when 7 .. 12 puts "child" when 13 .. 18 puts "Jugendlicher" else puts "Anderes Alter" end

Ausprobieren »

Das obige Beispiel gibt aus:

child

Wenn der "Ausdruck"-Teil von case weggelassen wird, wird der erste when-Bedingungsteil, der wahr ist, ausgewertet.

foo = false bar = true quu = false case when foo then puts 'foo ist wahr' when bar then puts 'bar ist wahr' when quu then puts 'quu ist wahr' end #Zeigt 'bar ist wahr' an
Weitere Erweiterungen