Мне интересно, существует ли более изобретательный способ «определить соответствие по умолчанию», чем тот, который я нашел в документации PHP. Ниже взято из
https://www.php.net/manual/en/language. ... ethods.php
.
Код: Выделить всё
enum Suit implements Colorful
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
// Fulfills the interface contract.
public function color(): string
{
return match($this) {
Suit::Hearts, Suit::Diamonds => 'Red',
Suit::Clubs, Suit::Spades => 'Black',
};
}
}
Приведенный выше пример не лучший пример, демонстрирующий необходимость того, почему я спрашиваю то, о чем прошу, пока не могу придумать лучшего примера, но представьте себе ради В этом вопросе было 10 костюмов: 9 черных и 1 красный. Похоже, мне придется повторить 9 случаев внутри функции сопоставления цветов для «черного»... Я надеюсь (и спрашиваю здесь, существует ли синтаксис), что есть способ сказать «по умолчанию — черный». «и используйте «красный» только для того, который я прямо называю «красным». Что-то вроде того, как я мог бы это сделать в операторе переключения. Предоставляют ли перечисления PHP такой синтаксис?
Подробнее здесь:
https://stackoverflow.com/questions/704 ... ch-default