Como faz | (pipe) no trabalho de correspondência de padrões?
Você pode escrever
str match { case "foo" | "bar" => ... }
À primeira vista, parece que|
poderia ser um objeto extrator, no entanto:
str match { case |("foo", "bar") => ... }
não funciona. (E não vejo como isso poderia ser implementado de qualquer maneira.)
Então é um operador interno mágico?
(Acredito que já tenha visto essa pergunta no SO antes, mas é impossível procurar por ...)