5.17. Выражение переключатель (switch)

Ссылка на оригинальную статью
switch является оператором ветвления в языках программирования, в том числе и в Haxe.
Конструкция switch открывается выражением «switch» и тело функции ограничивается фигурными скобками {}. Ветки switch начинаются или с ключевого слова «case» с условием выполнения данной ветки, или же с ключевого слова «default» для состояния по умолчанию. В обоих случаях после условия идет двоеточие : и блок операторов, которой надо выполнить.

Так как в Haxe ветки case выполняются независимо, break не нужен.
Конструкции switch могут быть использованы как значение; в таком случае типы всех case и default должны унифицироваться.
Пример. Программа, которая выводит текущий день недели.

Haxe позволяет использовать выражения, например, мы можем в предыдущем примере написать не b, а b+1, если мы захотим узнать следующий день.
Также Haxe дает нам большие возможности в использовании switch. Например, мы можем проверять соответствия значений различных типов с помощью регулярных выражений (шаблонов).
Рассмотрим пример с массивом, взятый из данной статьи. В качестве входного параметра для оператора switch дается массив фиксированной длины. В зависимости от заполнения и длины массива, оператор будет выдавать нужный результат. Данный пример показывает нам, что мы можем указывать как и нужный нам размер массива, так и заполнение определенной ячейки массива. Например, программа выведет 0 только при массиве длинной в два элемента, где в первой ячейке будет число 2. Если же размер массива будет другой или первой будет стоять не 2, то оператор продолжит сравнения с остальными условиями. В данном примере роль состояния по умолчанию выполняет последнее условие, которое «пропускает» любой массив. Стоит заметить, что если выполняются сразу два условия, например, массив будет состоять из [2,6], то программа все равно выведет 0, так как первое условие идет раньше.