совместимость объявленных переменных - PullRequest
1 голос
/ 23 июля 2010

У меня есть вопрос: 6. Ада поддерживает именованную эквивалентность.Учитывая объявление:

A: array(1..10) of integer;
B: array(1..10) of integer;

Совместимы ли A и B?Что если мы объявим это как

A, B: array(1..10) of integer;

Совместимы ли A и B?Еще один способ заявить об этом:

Type array10 is array(1..10) of integer;
A, B: array 10;

Совместимы ли A и B?Если Ада поддерживает структурную эквивалентность, каков будет ответ на три вопроса выше?

Ответы [ 2 ]

2 голосов
/ 23 июля 2010

Этот часто задаваемый вопрос призван подчеркнуть разницу между эквивалентностью имени и структурной эквивалентностью в строго типизированном языке, таком как Ada .Для справки см. Ada Programming / Type System и Обоснование для разработки языка программирования Ada® .

1 голос
/ 23 июля 2010

Мы можем ответить на вопросы Ады довольно хорошо. Однако, это, кажется, вопрос понимания материала главы , маскирующийся как вопрос Ады. В частности, многое зависит от того, как именно они определили «совместимость», «именованная эквивалентность» и «структурная эквивалентность». (Хотя последние два имеют довольно четко определенное значение ). Одна часть вопроса даже теоретическая, основанная на возможности, которой нет у Ады. Без этого контекста было бы сложно ответить.

Ответ можно найти нигде не в АДР, а в тексте вашей книги. Прочитайте главу, и вы должны стать просветленным.

...