Ruby - wenn ... sonst, Fall, es sei denn
Ruby bietet bedingte Strukturen, die in modernen Sprachen häufig vorkommen. Hier werden alle in Ruby verfügbaren bedingten Anweisungen und Modifikatoren erläutert.
Ruby if ... else Statement
Syntax
if conditional [then]
code...
[elsif conditional [then]
code...]...
[else
code...]
end
wenn Ausdrücke für die bedingte Ausführung verwendet werden. Die Werte false und nil sind false und alles andere ist true. Beachten Sie, dass Ruby elsif verwendet, weder if noch elif.
Führt Code aus, wenn die Bedingung wahr ist. Wenn die Bedingung nicht wahr ist, wird der in der else-Klausel angegebene Code ausgeführt.
Am wenn Ausdruck bedingter von Code durch das reservierte Wort getrennt dann , eine neue Zeile oder ein Semikolon.
Beispiel
#!/usr/bin/ruby
x = 1
if x > 2
puts "x is greater than 2"
elsif x <= 2 and x!=0
puts "x is 1"
else
puts "I can't guess the number"
end
x is 1
Ruby wenn Modifikator
Syntax
code if condition
Führt Code aus, wenn die Bedingung wahr ist.
Beispiel
#!/usr/bin/ruby
$debug = 1
print "debug\n" if $debug
Dies führt zu folgendem Ergebnis:
debug
Ruby außer Statement
Syntax
unless conditional [then]
code
[else
code ]
end
Führt Code aus, wenn die Bedingung falsch ist. Wenn die Bedingung wahr ist, wird der in der else-Klausel angegebene Code ausgeführt.
Beispiel
#!/usr/bin/ruby
x = 1
unless x>=2
puts "x is less than 2"
else
puts "x is greater than 2"
end
Dies führt zu folgendem Ergebnis:
x is less than 2
Ruby außer Modifikator
Syntax
code unless conditional
Führt Code aus, wenn die Bedingung falsch ist.
Beispiel
#!/usr/bin/ruby
$var = 1
print "1 -- Value is set\n" if $var
print "2 -- Value is set\n" unless $var
$var = false
print "3 -- Value is set\n" unless $var
Dies führt zu folgendem Ergebnis:
1 -- Value is set
3 -- Value is set
Ruby case Statement
Syntax
case expression
[when expression [, expression ...] [then]
code ]...
[else
code ]
end
Vergleicht den durch case angegebenen Ausdruck mit dem mit dem Operator === angegebenen und führt den Code der übereinstimmenden when-Klausel aus.
Der durch die when-Klausel angegebene Ausdruck wird als linker Operand ausgewertet. Wenn nein, wenn Klauseln übereinstimmen, führt case den Code der else- Klausel aus.
Der Ausdruck einer when- Anweisung wird dann durch das reservierte Wort, eine neue Zeile oder ein Semikolon vom Code getrennt. Also -
case expr0
when expr1, expr2
stmt1
when expr3, expr4
stmt2
else
stmt3
end
ist im Grunde ähnlich wie folgt -
_tmp = expr0
if expr1 === _tmp || expr2 === _tmp
stmt1
elsif expr3 === _tmp || expr4 === _tmp
stmt2
else
stmt3
end
Beispiel
#!/usr/bin/ruby
$age = 5
case $age
when 0 .. 2
puts "baby"
when 3 .. 6
puts "little child"
when 7 .. 12
puts "child"
when 13 .. 18
puts "youth"
else
puts "adult"
end
Dies führt zu folgendem Ergebnis:
little child