Ada_Ru форум

Обсуждение языка Ада

??: Re: [ada_ru] ?????? ? ??????????????? ? ???????

Оставить новое сообщение

Сообщения

Maxim Reznik
??: Re: [ada_ru] ?????? ? ??????????????? ? ???????
2003-05-29 06:08:24

 

 

 

 

 

>�������-�� �����-���� ����������� ����������� �������� ������������� �� >���������� ������������? ��������:

 

subtype S_AB is T (A .. B);

 

� ��� ��� - �������! ���� ��������� ������ �� ��������� (���� �� ��� � �� �������� ����������-���������)

 

��� ��� � ����, ��� ��� ����. �� ����� �������. ����� ����� ����������� ��������� ��������� �� ��� ����?

 

 

 

� ����� ������� ������ � ����� ���������������?

 

type S (Lower, Upper: Enum) is null record;

subtype S_AB is T (A, B);

 

������� �������?

 

������

А может сделать запись с двуме дискриминантами?

 

type S (Lower, Upper: Enum) is null record;

subtype S_AB is T (A, B);

 

Хмммм! Дешево, но сердито!

Большая разница?

 

Сразу и не скажешь - зависит от того, как и для чего те

дискриминанты предполагается использовать.

 

Тут дело еще (а может - и в первую очередь) вoт в чем.

Если дискриминант имеет значение по умолчанию, то, объявляя

объект данного типа, мы не обязаны накладывать ограничение

дискриминанта, и дискриминант объекта данных может меняться в

ходе "жизни" этого объекта.

 

Как только появилось ограничение дискриминанта(-ов) - у соответствующих объектов данных дискриминант(ы) оказывает(-ют)ся замороженным(и) на все время жизни объекта.

 

То, что предлагает Максим, возможно в существующей Аде, но "замораживает" дискриминанты.

 

То, чего хочет Вадим, насколько я понимаю, предполагает ограничение диапазона изменения дискриминанта без обязательного "замораживания" дискриминантов объекта данных.

Sergey I. Rybin wrote:

 

Сразу и не скажешь - зависит от того, как и для чего те

дискриминанты предполагается использовать.

 

Тут дело еще (а может - и в первую очередь) вoт в чем.

Если дискриминант имеет значение по умолчанию, то, объявляя

объект данного типа, мы не обязаны накладывать ограничение

дискриминанта, и дискриминант объекта данных может меняться в

ходе "жизни" этого объекта.

 

Как только появилось ограничение дискриминанта(-ов) - у соответствующих

объектов данных дискриминант(ы) оказывает(-ют)ся замороженным(и) на

все время жизни объекта.

 

То, что предлагает Максим, возможно в существующей Аде, но "замораживает"

дискриминанты.

 

То, чего хочет Вадим, насколько я понимаю, предполагает ограничение диапазона

изменения дискриминанта без обязательного "замораживания" дискриминантов

объекта данных.

 

Читать мысли не честно! ;)

 

Действительно в моем случае структура данных определяется C-шной библиотекой. Я не могу указать два дискриминанта как ограничение диапазона. Но хочу указать сужение возможных значений до некоторого непрерывного подмножества.

 

 

-- Vadim Godunko

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти