Справочник Ada 2005
3.6.3 Типы строк
Статическая семантика
Одномерный массивный тип, компоненты которого имеют тип символьного типа, называется типом строки.
Существует три предопределённых типа строк, String, Wide_String и Wide_Wide_String, каждый из которых индексируется значениями предопределённого подтипа Positive; они объявлены во видимой части пакета Standard:
подтип Positive is Integer диапазон 1 .. Integer'Last;
тип String is массив(Positive диапазон <>) of Character;
тип Wide_String is массив(Positive диапазон <>) of Wide_Character;
тип Wide_Wide_String is массив(Positive диапазон <>) of Wide_Wide_Character;
тип Wide_String is массив(Positive диапазон <>) of Wide_Character;
тип Wide_Wide_String is массив(Positive диапазон <>) of Wide_Wide_Character;
ПРИМЕЧАНИЯ
51 Литералы строк (см. 2.6 и 4.2) определены для всех типов строк. Оператор конкатенации & предопределён для типов строк, как и для всех одномерных массивов не ограниченного типа. Операторы упорядочения <, <=, >, и >= предопределены для типов строк, как и для всех одномерных массивов дискретных типов; эти операторы упорядочения соответствуют лексикографическому порядку (см. 4.5.2).
Примеры
Примеры объектов строк:
Stars : String(1 .. 120) := (1 .. 120 => '*' );
Question : константа String := "Сколько символов?";
-- Question'First = 1, Question'Last = 20
-- Question'Length = 20 (количество символов)
Question : константа String := "Сколько символов?";
-- Question'First = 1, Question'Last = 20
-- Question'Length = 20 (количество символов)
Ask_Twice : String := Question & Question; -- ограничено (1..40)
Ninety_Six : константа Roman := "XCVI"; -- см. 3.5.2 и 3.6
Ninety_Six : константа Roman := "XCVI"; -- см. 3.5.2 и 3.6