Ada_Ru форум

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

Записи с дискриминантами и подтипы

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

Сообщения

Vadim Godunko
Записи с дискриминантами и подтипы
2003-05-28 17:05:35

Привет всем!

 

Возник тут у меня один вопрос, а читать документацию - лень.

 

Предполощим, имеем некоторый дискриминантный тип:

 

type K is (A, B, C);

 

type T (D : K := A) is null record;

 

Правомочно-ли завести некоторый подтип, ограничивающий значения дискриминанта некоторым значением? Например:

 

subtype S_A is T (A);

subtype S_B is T (B);

 

Имеется-ли какая-либо возможность ограничения значений дискриминанта до некоторого поддиапазона? Например:

 

subtype S_AB is T (A .. B);

 

Заранее благодарен,

-- Vadim Godunko

Возник тут у меня один вопрос, а читать документацию - лень.

 

Прям-таки и не знаю, что на такое сказать! Стыдно должно быть,

молодой человек! :))

 

 

Предполощим, имеем некоторый дискриминантный тип:

 

type K is (A, B, C);

 

type T (D : K := A) is null record;

 

Правомочно-ли завести некоторый подтип, ограничивающий значения

дискриминанта некоторым значением? Например:

 

subtype S_A is T (A);

subtype S_B is T (B);

 

Конечно, почему нет?

 

 

Имеется-ли какая-либо возможность ограничения значений дискриминанта до некоторого поддиапазона? Например:

 

subtype S_AB is T (A .. B);

 

А вот это - фигушки! Даже синтаксис такого не допускает (хоть он тут и не является контекстно-свободным)

Sergey I. Rybin wrote:

Возник тут у меня один вопрос, а читать документацию - лень.

 

 

Прям-таки и не знаю, что на такое сказать! Стыдно должно быть, молодой человек! :))

 

А как насчет "за чистосердечное признание ...?" :)

 

 

subtype S_A is T (A);

subtype S_B is T (B);

 

Конечно, почему нет?

 

Спасибо.

 

 

Имеется-ли какая-либо возможность ограничения значений дискриминанта до

некоторого поддиапазона? Например:

 

subtype S_AB is T (A .. B);

 

А вот это - фигушки! Даже синтаксис такого не допускает (хоть он тут

и не является контекстно-свободным)

 

Так вот и жаль, что так незя. Но очень хочется. Может стоит попробовать сотворить замечание на эту тему?

 

 

-- Vadim Godunko

Прям-таки и не знаю, что на такое сказать! Стыдно должно быть,

молодой человек! :))

 

А как насчет "за чистосердечное признание ...?" :)

 

А вот этому мы завсегда рады! И в ответ - с открытой душлй!

 

subtype S_AB is T (A .. B);

 

А вот это - фигушки! Даже синтаксис такого не допускает (хоть он тут и не является контекстно-свободным)

 

Так вот и жаль, что так незя. Но очень хочется. Может стоит попробовать сотворить замечание на эту тему?

 

Сотворить - стоит, наверное. Хотя бы затем, чтобы услышать обосноание того, почему это не есть (и не будет) хорошо. В том, что ответ будет именно такой - практически не сомневаюсь.

 

Сам объяснить не готов по двум причинам:

 

1. То, что нельзя - всего лишь печеночное чувство.

2. Навскидку идея мне самому понравилась.

Sergey I. Rybin wrote:

 

Так вот и жаль, что так незя. Но очень хочется. Может стоит попробовать

сотворить замечание на эту тему?

 

 

Сотворить - стоит, наверное. Хотя бы затем, чтобы услышать обосноание

того, почему это не есть (и не будет) хорошо. В том, что ответ будет

именно такой - практически не сомневаюсь.

 

Как соберусь с духом - попробую.

 

Сам объяснить не готов по двум причинам:

 

1. То, что нельзя - всего лишь печеночное чувство.

2. Навскидку идея мне самому понравилась.

 

Ничего не скажешь - причины весткие, не перешибешь. :) Особенно вторая.

 

 

-- Vadim Godunko

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

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