The case expression can be used to conditionally execute fragments of code depending on the value or type of an expression.

# returns 3
case [1, 2, 3]
when [1], [1, 2] then 0
when [1, 2, x] then x
else -1

Each when clause expects a comma separated list of patterns to match. If one of the provided patterns match, the corresponding body is executed. If no when clause has a match, the else clause is executed (if it is present).