Лимитированные записи
Тип записи может быть описан как лимитированная запись.
В качестве примера, рассмотрим следующие описания:
type Person is limited
record Name : String(1..Max_Chs); -- строка имени Height : Height_Cm := 0; -- рост в сантиметрах Sex : Gender; -- пол end record; Mike : Person; Corrina : Person; |
В случае, когда тип записи является лимитированной записью, компилятор не позволяет выполнять присваивание и сравнение экземпляров этого типа записи.
. . . Mike := Corrina; -- ОШИБКА КОМПИЛЯЦИИ!!! -- для лимитированных записей присваивание запрещено . . .
if Corrina = Mike then -- ОШИБКА КОМПИЛЯЦИИ!!! -- для лимитированных записей сравнение запрещено Put_Line("This is strange"); end if; . . . |
В результате, при компиляции показанного выше кода, будут выдаваться сообщения об ошибке компиляции.