Я тебя прекрасно понял, ибо примерно так же
Pa4enka объяснил свой вариант.
Ок, тогда переформулирую вопрос: в чём необходимость использования знака "="? Нет, не цель (отделить кейс от выражения и показать присваивание), а именно
необходимость? Почему это так важно в твоём варианте? Сильно сомневаюсь, что кто-то станет путаться без этого знака.
И что с того?
sizeof,
defined,
tagof и
__emit тоже "похожи на функции", потому что могут использоваться с круглыми скбоками
(настолько похожи, что некоторые уникумы на одном печально известном Pawn-форуме могут полдня с пеной у рта доказывать тебе, что sizeof занимает время на выполнение и его следует избегать, особенно внутри format()). Ничего нового в этом нет.
Кстати говоря про
__emit, с этим оператором как раз и было лишний раз подтверждено правило, что в выражениях должны использоваться круглые скобки
new x = __emit(lctrl 6, add.c 20);
а вне выражений - фигурные
new x;
__emit
{
lctrl 6
stor.s.pri x
}
Это уже закрепившийся синтаксис, поэтому рассматривать возможность фигурных скобок в switch-выражениях считаю заведомо бессмысленным.