Другие использования дискриминантов
Также как и при использовании в качестве селектора выбора варианта в записи, дискриминант может быть использован для спецификации длины массива, который является компонентом записи.
type Text (Length : Positive := 20) is
record Value : String(1..Length); end record; |
В этом случае длина массива зависит от значения дискриминанта. Как указано выше, запись может быть описана как ограниченная (constrained) или как неограниченная (unconstrained).
Обычно, такие текстовые записи используются как строки переменной длины для текстовой обработки.
Еще одним возможным способом использования дискриминантов могут быть описания различных подтипов какого-либо базового типа. В данном случае смысл идеи состоит в том, что подтипы можно использовать для создания объектов с конкретными значениями дискриминантов. Такой подход удобен при работе с типами, которые содержат большое количество дискриминантов.
Copyright (C) А.Гавва | V-0.4w май 2004 |