Справочное руководство по языку Ада-83


Операторы выбора - часть 2


Примеры:

case SENSOR is when ELEVATION => RECORDELEVATION (SENSOR-VALUE); when AZIMUTH => RECORD.AZIMUTH (SENSOR-VALUE); when DISTANCE => RECORD-DISTANCE (SENSOR-VALUE); when others => null; end case;

case TODAY is when MON => COMPUTE-INITIAL-BALANCE;

when FRI => COMPUTE-CLOSING-BALANCE;

when TUE .. THU => GENERATEREPORT(T-ODAY);

when SAT .. SUN => null; end case;

case BIN_NUMBER(COUNT) is when 1 => UPDATE_BIN(1);

when 2 => UPDATE_BIN(2);

when 3 | 4 => EMPTY_BIN(1); EMPTY_BIN(2);

when others => raise ERROR;

end case;

Примечание.

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

Выбор

others

обязателен в операторе выбора, если выражение имеет тип

универсальный-целый

(например, выражение является целым литералом), так как это единственный способ учесть все значения типа

универсальный-целый.

Ссылки:

базовый тип 3.3, выбор 3.7.3, вызов функции 6.4, выражение 4.4, дискретный тип 3.5, имя 4.1, квалифицированное выражение 4.7, контекст разрешения совмещения 8.7, литерал перечисления 3.5.1, обозначение типа 3.3.2, объект 3.2.1, последовательность операторов 5.1, преобразование 4.6, преобразование типа 4.6, подтип 3.3, совмещение 6.6, 8.7, статический дискретный диапазон 4.9, статический подтип 4.9, тип 3.3, формальный тип настройки 12.1.

Пред. 

Уровень выше  След.

5.3. УСЛОВНЫЕ ОПЕРАТОРЫ

 

Начало  

5.5. ОПЕРАТОРЫ ЦИКЛА




Начало  Назад  Вперед



Книжный магазин