switch
Задание условного многонаправленного перехода.
Синтаксис
switch(<главное выражение>) begin
<выражение для сравнения 11>, .. , <выражение для сравнения 1N>: <код, выполняемый при равенстве значений одного из выражений 11-1N и главного выражения>;
..
<выражение для сравнения M1>, .. , <выражение для сравнения MN>: <код, выполняемый при равенстве значений одного из выражений M1-MN и главного выражения>;
{else
<оператор при невыполнении ни одного из условий>;
}
end;Описание
Управляющий оператор switch обеспечивает многонаправленное ветвление скрипта и
позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения
программы. Несмотря на то, что многонаправленная проверка может быть организована с
помощью последовательного ряда вложенных операторов if, во многих
случаях более эффективным оказывается применение оператора switch.
Опционально оператор switch может использоваться с применением
нескольких выражений для сравнения.
Пример 1 (простое применение оператора switch)
for (X = 1, 8) begin
switch(X) begin
1: begin
SetErrorStr("Понедельник");
end;
2: begin
SetErrorStr("Вторник");
end;
3: begin
SetErrorStr("Среда");
end;
4: begin
SetErrorStr("Четверг");
end;
5: begin
SetErrorStr("Пятница");
end;
6: begin
SetErrorStr("Суббота");
end;
7: begin
SetErrorStr("Воскресенье");
end;
else
SetErrorStr("Ошибка");
end;
end;
В результате выполнения примера в окно сообщений будут последовательно выведены сообщения "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", Суббота", "Воскресенье", "Ошибка".
Пример 2 (применение оператора switch с несколькими выражениями для сравнения)
for (X = 1, 5) begin
switch(X) begin
1, 2: begin
SetErrorStr("X изменяется от 1 до 2");
end;
3, 4: begin
SetErrorStr("Х изменяется от 3 до 4");
end;
else
SetErrorStr("Х вне диапазона от 1 до 4");
end;
end;
- сначала два сообщения "X изменяется от 1 до 2"
- затем два сообщения "X изменяется от 3 до 4"
- в конце будет выведено одно сообщение "Х вне диапазона от 1 до 4"