Let s see an example where we want to print some message depending on what range a value falls in.
Ruby switch case example.
How does the switch statement work.
Ruby uses case and when where others use switch and case.
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.
It is similar to the switch keyword in another programming.
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.
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.
Ranges strings and regexp use the case statement.
For example if the value of the expression is equal to constant2 statements after case constant2.
Why do we need a switch case.
If there is a match the corresponding statements after the matching label are executed.
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.
The case statement is more flexible than it might appear at first sight.
A quick tour of the operator.
Match values and ranges of values with this statement.
Otherwise the switch case will trigger the default case and print the appropriate text regarding the program outline.
The expression specified by the when clause is evaluated as the left operand.
Ruby case ranges.
The case statement is a multiway branch statement just like a switch statement in other languages.
Case capacity when 0 you ran out of gas when 1 20 the tank is almost empty.
There are 3 important keywords which are used in the case statement.
Basically if elsif else notice there s nothing after the word case.
The expression is evaluated once and compared with the values of each case label.
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.
It provides an easy way to forward execution to different parts of code based on the value of the expression.
The three equals operator.
Are executed until break is encountered.
The following case example detects where a number falls amongst a group of different ranges.