Ruby - Statement Case Statements


To take a variety of different actions based on the value of a single variable, multiple if..elsif tests are verbose and repetitive.

An alternative is to use a case statement.

This begins with the word case followed by the variable name to test.

Then comes a series of when sections, each of which specifies a "trigger" value followed by some code.

This code executes only when the test variable equals the trigger value:


i = 1
case( i ) #   www.  j a  v  a  2 s. c o m
   when 1 then puts("It's Monday" ) 
   when 2 then puts("It's Tuesday" ) 
   when 3 then puts("It's Wednesday" ) 
   when 4 then puts("It's Thursday" ) 
   when 5 then puts("It's Friday" ) 
   when (6..7) then puts( "It's the weekend! " ) 
   else puts( "That's not a real day!" ) 


Related Topic