It is similar to the switch keyword in another programming.
Ruby switch case example.
Ruby case statement syntax case expression when expression expression then code.
A quick tour of the operator.
Quickly find a gas station when 21 70 you should be ok for now.
The expression specified by the when clause is evaluated as the left operand.
Match values and ranges of values with this statement.
Let s see an example where we want to print some message depending on what range a value falls in.
The expression is evaluated once and compared with the values of each case label.
Variable case when bool condition statements when bool condition statements else the else clause is optional statements end if you assigned variable before the case the variable now has the value of the last executed statement or nil if there was no match.
This example shows that case statements not only match an item s value but also its class this is possible because under the hood ruby uses the operator aka.
There is one potential problem with the if else statement which is the complexity of the program increases whenever the number of alternative path increases.
The case statement is more flexible than it might appear at first sight.
Score 70 result case score when 0 40 then fail when 41 60 then pass when 61 70 then pass with merit when 71 100 then pass with distinction else invalid score end puts result.
How does the switch statement work.
When you write x y y in ruby you re asking does y belong in the group represented by x this is a very general statement.
Else code end compares the expression specified by case and that specified by when using the operator and executes the code of the when clause that matches.
Case capacity when 0 you ran out of gas when 1 20 the tank is almost empty.
Ruby case ranges.
Why do we need a switch case.
There are 3 important keywords which are used in the case statement.
The following case example detects where a number falls amongst a group of different ranges.
The case statement is a multiway branch statement just like a switch statement in other languages.
Are executed until break is encountered.
Ruby uses case and when where others use switch and case.
Otherwise the switch case will trigger the default case and print the appropriate text regarding the program outline.
Basically if elsif else notice there s nothing after the word case.
The three equals operator.
For example if the value of the expression is equal to constant2 statements after case constant2.