Loading...
 

Crystal Verzweigungen

Verzweigungen


Unter Verzweigungen verstehen wir die Möglichkeit, Einfluß in den Ablauf einer Programmstruktur zu nehmen.

if

Eine der einfachsten Anweisungen ist 'if'

anzahl = 3

if anzahl == 3		# wenn die Variable anzahl den Wert 3 hat
  p "anzahl ist 3"	# mach das, was eingerückt ist (Einrückung mind. 2 Leerzeichen)
end					# abschließendes 'end'


Ausgabe:
"anzahl ist 3"


if ... else

Erweitern wir das Programm ein wenig:

anzahl = 22258

if anzahl == 3
  p "anzahl ist 3"
else						# wenn die Bedingung von if nicht erfüllt ist, dann mach das folgende
  p "anzahl ist nicht 3"
end


Ausgabe:
"anzahl ist nicht 3"

if ... elsif ... else

Erweiterte Bedingung

anzahl = 555

if anzahl == 3
  p "anzahl ist 3"
elsif anzahl == 22258			# wenn nicht 3, dann vielleicht 22258?
  p "anzahl ist 22258"
else							# keine der Bedingungen wurden erfüllt
  p "anzahl ist nicht 3 und auch nicht 22258"
end


Ausgabe
"anzahl ist nicht 3 und auch nicht 22258"

unless

Fast das gleich wie 'if' ist 'unless', nur, dass es andersrum auswertet:

anzahl = 555
 
unless anzahl == 3			# wenn Bedingung nicht erfüllt ist
  p "anzahl ist nicht 3"
end


Ausgabe:
"anzahl ist nicht 3"

case when


Eine sehr interessante Version stellt auch 'case' mit 'when' dar.

ist = 8

case ist
  when 7
    puts "ist = 7"
  when 8
    puts "ist = 8"
  else
	puts "nix 7, 8"
end


Ausgabe:
ist = 8



'case' kombiniert mit .even? und .odd?

zahl = 8
 
case zahl
  when .even?
    puts "gerade"
  when .odd?
    puts "ungerade"
end


Ausgabe:
gerade


Articles

No records to display