evaluates each of the testi in turn, returning the value of the valuei corresponding to the first one that yields True.


  • Which has attribute HoldAll.
  • If any of the testi evaluated by Which give neither True nor False, then a Which object containing these remaining elements is returned unevaluated. »
  • You can make Which return a "default value" by taking the last testi to be True.
  • If all the testi evaluate to False, Which returns Null.
Introduced in 1988