Ruby:IF Setninger

Fra CodeWiki

Gå til: navigasjon, søk

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
Personlige verktøy
dataprogrammering
generelt