Ада-95. Компилятор GNAT

       

Инструкция выбора сase


Еще одним средством позволяющим строить разветвляющиеся алгоритмы является инструкция выбора сase.

Инструкция выбора сase должна предусматривать определенное действие для каждого возможного значения переменной селектора (переключателя). В случаях, когда невозможно перечислить все значения переменной селектора, нужно использовать метку others.

Каждое значение выбора может быть представлено как одиночное значение (например, 5), как диапазон значений (например, 1..20), или как комбинация, состоящая из одиночных значений и/или диапазонов значений, разделенных символом '|'.

Каждое значение выбора должно быть статическим значением, то есть оно должно быть определено компилятором во время компиляции программы.

case выражение is

when значение_выбора => действия

when значение_выбора => действия

. . . when others => действия

end case;

Важные примечания:

  • "выражение", в инструкции case, должно быть дискретного типа
  • метка others обязательна в инструкции сase

    тогда, когда инструкции when не перечисляют всех возможных значений селектора.

case Letter is

when 'a'..'z'| 'A'..'Z' => Put ("letter"); when '0'..'9' => Put ("digit! Value is"); Put (letter); when ''' | '"' | '`' => Put ("quote mark"); when '&' => Put ("ampersand"); when others => Put ("something else"); end case;

В некоторых случаях, в качестве действий, указываемых для метки others, может использоваться пустая инструкция null:

. . . when others => null; -- ничего не делать . . .



Содержание раздела