Spec-Zone.ru › Ada 2012
Справочное руководство Ada 2012

A.3.2 Пакет Characters.Handling

Статическая семантика

Библиотечный пакет Characters.Handling имеет следующее объявление:
with Ada.Characters.Conversions;
package Ada.Characters.Handling is
pragma Pure(Handling);
--Функции классификации символов
function Is_Control (Item : in Character) return Boolean;
function Is_Graphic (Item : in Character) return Boolean;
function Is_Letter (Item : in Character) return Boolean;
function Is_Lower (Item : in Character) return Boolean;
function Is_Upper (Item : in Character) return Boolean;
function Is_Basic (Item : in Character) return Boolean;
function Is_Digit (Item : in Character) return Boolean;
function Is_Decimal_Digit (Item : in Character) return Boolean
renames Is_Digit;
function Is_Hexadecimal_Digit (Item : in Character) return Boolean;
function Is_Alphanumeric (Item : in Character) return Boolean;
function Is_Special (Item : in Character) return Boolean;
function Is_Line_Terminator (Item : in Character) return Boolean;
function Is_Mark (Item : in Character) return Boolean;
function Is_Other_Format (Item : in Character) return Boolean;
function Is_Punctuation_Connector (Item : in Character) return Boolean;
function Is_Space (Item : in Character) return Boolean;
--Функции преобразования для Character и String
function To_Lower (Item : in Character) return Character;
function To_Upper (Item : in Character) return Character;
function To_Basic (Item : in Character) return Character;
function To_Lower (Item : in String) return String;
function To_Upper (Item : in String) return String;
function To_Basic (Item : in String) return String;
--Классификации и преобразования между Character и ISO 646
subtype ISO_646 is
Character range Character'Val(0) .. Character'Val(127);
function Is_ISO_646 (Item : in Character) return Boolean;
function Is_ISO_646 (Item : in String) return Boolean;
function To_ISO_646 (Item : in Character;
Substitute : in ISO_646 := ' ')
return ISO_646;
function To_ISO_646 (Item : in String;
Substitute : in ISO_646 := ' ')
return String;
--Функции Is_Character, Is_String, To_Character, To_String, To_Wide_Character,
-- и To_Wide_String устарели; см. J.14.
Пункты 14–18 были удалены.
end Ada.Characters.Handling;
В описании ниже для каждой функции, возвращающей логическое значение, эффект описывается в терминах условий, при которых возвращается значение True. Если эти условия не выполнены, то функция возвращает False.
Каждая из следующих функций классификации имеет формальный параметр Character, Item, и возвращает логическое значение.
Is_Control
True, если Item — управляющий символ. Управляющий символ — это символ, позиция которого находится в одном из диапазонов 0..31 или 127..159.
Is_Graphic
True, если Item — графический символ. Графический символ — это символ, позиция которого находится в одном из диапазонов 32..126 или 160..255.
Is_Letter
True, если Item — буква. Буква — это символ, который находится в одном из диапазонов 'A'..'Z' или 'a'..'z', или чья позиция находится в одном из диапазонов 192..214, 216..246 или 248..255.
Is_Lower
True, если Item — строчная буква. Строчная буква — это символ, который находится в диапазоне 'a'..'z', или чья позиция находится в одном из диапазонов 223..246 или 248..255.
Is_Upper
True, если Item — прописная буква. Прописная буква — это символ, который находится в диапазоне 'A'..'Z' или чья позиция находится в одном из диапазонов 192..214 или 216.. 222.
Is_Basic
True, если Item — базовая буква. Базовая буква — это символ, который находится в одном из диапазонов 'A'..'Z' и 'a'..'z', или это один из следующих символов: 'Æ', 'æ', 'Ð', 'ð', 'Þ', 'þ' или 'ß'.
Is_Digit
True, если Item — десятичная цифра. Десятичная цифра — это символ в диапазоне '0'..'9'.
Is_Decimal_Digit

Переименование Is_Digit.
Is_Hexadecimal_Digit

True, если Item — шестнадцатеричная цифра. Шестнадцатеричная цифра — это символ, который либо десятичная цифра, либо находится в одном из диапазонов 'A' .. 'F' или 'a' .. 'f'.
Is_Alphanumeric

True, если Item — буквенно-цифровой символ. Буквенно-цифровой символ — это символ, который является либо буквой, либо десятичной цифрой.
Is_Special
True, если Item — специальный графический символ. Специальный графический символ — это графический символ, который не является буквенно-цифровым.
Is_Line_Terminator

True, если Item — символ с позицией 10 .. 13 (Line_Feed, Line_Tabulation, Form_Feed, Carriage_Return) или 133 (Next_Line).
Is_Mark
Всегда False (нет значений типа Character с категориями Mark, Non-Spacing или Mark, Spacing Combining).
Is_Other_Format

True, если Item — символ с позицией 173 (Soft_Hyphen).
Is_Punctuation_Connector

True, если Item — символ с позицией 95 ('_', известный как Low_Line или Underscore).
Is_Space
True, если Item — символ с позицией 32 (' ') или 160 (No_Break_Space).
Каждое из имен To_Lower, To_Upper и To_Basic относится к двум функциям: одной, преобразующей Character в Character, и другой, преобразующей String в String. Результат каждой функции Character-to-Character описывается ниже в терминах преобразования, применяемого к Item, её формальному параметру Character. Результат каждого преобразования String-to-String получается путем применения соответствующего преобразования Character-to-Character к каждому элементу параметра String функции; результатом является пустая строка, если значение формального параметра является пустой строкой. Нижний индекс результирующей строки — 1.
To_Lower
Возвращает соответствующее значение строчной буквы для Item, если Is_Upper(Item), в противном случае возвращает Item.
To_Upper
Возвращает соответствующее значение прописной буквы для Item, если Is_Lower(Item) и Item имеет прописную форму, в противном случае возвращает Item. Строчные буквы 'ß' и 'ÿ' не имеют прописных форм.
To_Basic
Возвращает букву, соответствующую Item, но без диакритического знака, если Item — буква, но не базовая буква; в противном случае возвращает Item.
Следующий набор функций проверяет членство в диапазоне символов ISO 646 или выполняет преобразование между ISO 646 и Character.
Is_ISO_646
Функция с формальным параметром Item типа Character возвращает True, если Item находится в подтипе ISO_646.
Is_ISO_646
Функция с формальным параметром Item типа String возвращает True, если Is_ISO_646(Item(I)) равняется True для каждого I в Item'Range.
To_ISO_646
Функция с первым формальным параметром Item типа Character возвращает Item, если Is_ISO_646(Item), в противном случае возвращает символ Substitute ISO_646.
To_ISO_646
Функция с первым формальным параметром Item типа String возвращает строку, диапазон которой 1..Item'Length, и каждый из элементов которой задаётся функцией To_ISO_646 соответствующего элемента в Item.
Пункты 42–49 были удалены.
ПРИМЕЧАНИЯ
5 Базовая буква — это буква без диакритического знака.
6 За исключением шестнадцатеричных цифр, базовых букв и символов ISO_646, категории, определенные в функциях классификации, образуют строгую иерархию:
— Управляющие символы
— Графические символы
— Буквенно-цифровые символы
— Буквы
— Прописные буквы
— Строчные буквы
— Десятичные цифры
— Специальные графические символы
7 Существуют определенные символы, которые определены как строчные буквы в ISO 10646 и, следовательно, допускаются в идентификаторах, но не считаются строчными буквами в Ada.Characters.Handling.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API