Цитата:
Сообщение от
Blog bot
switch(true) невероятно мощная конструкция, которую можно смело считать реализацией "Сопоставления с образцом"(pattern matching) в Х++.
Только нужно понимать, что образцы в этом случае должны быть взаимоисключающими. Т.е. в каждый конкретный момент истинным должно быть только одно условие, иначе логика выполнения может стать отличной от ожидаемой.
Из-за этого добавление нового условия к уже имеющимся может потребовать изменить и все остальные.
Ещё как-то встречал
извращенцев умельцев
играющих на опускании break в определённых ветках case. Уследить за полётом мысли таких "авторов" бывает очень сложно.
P.S.: Для решения задачи из первого поста подходит паттерн цепочка декораторов