switch and case

Suppose you have to test different values of a word, and each value requires a different action. How would you do it? You could use multiple if tests, phrased as if var = value1, but then you would have to add a new if for each new value to be tested, and all if tests would then be executed. Red has a versatile switch word, which allows you to do just that, but in one statement. For example:

person: "John"switch person [    "Bob"   [print "Bob is at the gym"]    "John"  [print "John is at work"]    "Laila" [print "Laila is shopping"]] ;== John is at work

The switch word evaluates the person word, and executes only the branch that corresponds to the same value.

If the value is not found, no branch is executed. In that case, it might be ...

Get Learn Red - Fundamentals of Red now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.