IPB

> case .. of .. else .. end (зарезервированное слово)
Форум
Загрузка...
 
Час быка
Час быка
Карта Интернета
Internet Map
Яндекс.Метрика

Язык:
Русский
English


Оператор case состоит из выражения (селектора) и списка операторов, каждый из которых выполнится в определённом случае.

Зарезервированное слово case также применяется при описании записей с дискриминантом.

Синтаксис

 case выражение of
   вариант : оператор;
   ...
   вариант : оператор;
 end

или

 case выражение of
   вариант : оператор;
   ...
   вариант : оператор;
 else оператор
 end

Замечания

"вариант" состоит из одной или большего количества констант или диапазонов, разделённых запятыми.

Часть «else» является необязательной.

Пример

 case Ch of
   'A' .. 'Z', 'a' .. 'z' : WriteLn('Буква');
   '0' .. '9'             : WriteLn('Цифра');
   '+', '-', '*', '/'     : WriteLn('Оператор');
 else WriteLn('Специальный символ')
 end;

Ада

 case Ch is
 when 'A' .. 'Z' | 'a' .. 'z' => Put_Line ("Буква");
 when '0' .. '9'              => Put_Line ("Цифра");
 when '+' | '-' | '*' | '/'   => Put_Line ("Оператор");
 when others => Put_Line ("Специальный символ");
 end case;

В языке Ада требуется, чтобы был предусмотрен каждый случай. Для этого нужно либо явно расписать действия для всего диапазона значений переключателя, либо указать действие по умолчанию. Если по умолчанию ничего делать не надо, это должно быть указано явно:

 when others => null;

Как вариант, если не ожидается никаких значений помимо предусмотренных, можно выбрасывать исключение:

 when others => raise Constraint_Error with "Непредусмотренное значение Ch";

См. также

Лекция №3.1: Ветвления. Массивы. Циклы

 
 К началу страницы 
Тэги: else of case
 

Код для вставки: :: :: :: ГОСТ ::
Поделиться: //
 


-
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"