2010-07-23 2 views
1

У меня есть вопрос: 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? Если Ада поддерживает структурную эквивалентность, каков будет ответ на три вопроса выше?

+1

играть с инструментами для форматирования SO, значками/кнопками в верхней части окна редактирования. Помогите нам помочь вам. Кроме того, если ваш первый вопрос начинается с числа 6, некоторые циники будут думать, что вы просите нас сделать домашнее задание для вас. Если да, пометьте свой вопрос как таковой. Независимо от того, что вы делаете, правильно пометьте свой вопрос, нет ничего алгоритмического в вашем вопросе. –

+0

Переформатированный код; пожалуйста, верните, если это неверно. – trashgod

+0

Добавлена ​​тег домашней работы, поскольку это похоже на то, что оно прямо из учебника, а Ада используется только как конкретный пример. –

ответ

2

Это часто задаваемый вопрос призван подчеркнуть разницу между именем эквивалентности и структурной эквивалентности в строго типизированных языках, таких как Ada. Для справки см. Ada Programming/Type System и Rationale for the Design of the Ada® Programming Language.

+0

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

1

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

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