WolframLang: Which, Switch

By Xah Lee. Date: . Last updated: .
Which[ test1,value1, test2,value2 etc]

eval each of the test in turn, return the value corresponding to the first one that yields True. Which

To have a catch-all test, add a last test to be just True.

Which[
3 > 9, aa,
3 > 4, bb,
True, cc
] === cc
Switch[test, pattern1,value1, pattern2,value2 etc]

eval test, then compares it with each of the pattern in turn, eval and return the value corresponding to the first match found.

The comparison is done with MatchQ[test, pattern] [see WolframLang: Pattern Matching]

Switch

To have a catch-all test, add a last test to be the pattern _.

Switch[ 4,
3, aa,
4, bb,
_, cc
] === bb
Switch[ {x, y},
3, aa,
{_,_} , bb,
_, cc
] === bb

WolframLang Boolean