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