Вы можете написать:
str match { case "foo" | "bar" => ... }
На первый взгляд кажется, что |
может быть объектом-экстрактором, однако:
str match { case |("foo", "bar") => ... }
не работает. (И я не могу в любом случае, посмотрим, как это можно реализовать.)
Значит, это волшебный встроенный оператор?
(Мне кажется, я видел этот вопрос на SO раньше, но невозможно найти ...)