Next Previous Contents

17. <3.1.2>: Case

Ruby har også case-konstruksjonen, som ofte er et bedre valg enn en rekke elsif'er mot samme variabel.

  1| print "Er du gutt eller jente?: "
  2| svar = gets.downcase.chomp
  3| 
  4| # case er også kjent som switch/case i andre språk
  5| case svar
  6| when "intetkjønn" 
  7|   puts "Hei!"
  8| when "jente", "kvinne", "dame"
  9|   puts "Heisann søta!"
 10| when "gutt", "mann", "herre"
 11|   puts "Heisann kjekken!"
 12| else 
 13|   puts "God dag herr/fru?"
 14| end

Legg merke til at en when blokk kan slå ut på flere oppgitte verdier. Man kan også bruke regulære uttrykk, Range-objekter, klasser etc. Du kan også lage dine egne objekter som kan brukes her ved å implementere === operatoren, som kalles både "relationship operator" og "case equality operator". (Ja, det er 3 likhetstegn.)


Next Previous Contents