Ruby:IF Setninger
Fra CodeWiki
IF Setninger i Ruby
I Ruby er IF synaxen som følger
if alder >= 18 puts "voksen" elsif alder >12 puts "ungdom" else puts "barn" end
Man kan også skrive if-setninger inline ved å bruke then:
if ditt_tall < mitt_tall then puts "høyere" elsif ditt_tall > mitt_tall then puts "lavere" else puts "korrekt" end
Siden Ruby ikke gjør forskjell på statements og expressions (i Ruby er alt expressions), kan man tilordne verdier gjennom en if-expression:
beskrivelse = if temperatur >= 15 "varmt" elsif temperatur >= 10 "OK" else "kaldt" end puts "Det er #{temperatur} grader, hvilket jeg anser som #{beskrivelse}"
I Ruby kan man også bruke if-setninger som såkalte «expression modifiers,» ved å legge dem på slutten av et uttrykk:
puts "Det er varmt ute" if temperatur > 15 puts file.readline unless file.eof?
Du kan også skrive «ternary expressions» (tre-delte uttrykk):
# uttrykk ? verdi_hvis_uttrykk_er_sant : verdi_hvis_uttrykk_er_usant input_file = ARGV.empty? ? "in.txt" : ARGV.shift # in.txt om ARGV er tom, ellers første argument til programmet # Dette kan også skrives med eller-er-lik-operatoren: input_file = ARGV.shift # prøv å tilordne fra ARGV input_file ||= "in.txt" # om input_file nå er nil (eller noe som evaluerer til false), bruk in.txt
