Список из списка? - PullRequest
       28

Список из списка?

1 голос
/ 11 ноября 2011

Попытка создать пользовательский тип данных, включающий списки, и, кажется, будет хорошо принимать большинство универсальных типов Я не знаю, как составить список списков, хотя, кажется ...

В моей основной процедуре я надеялся получить что-то вроде этого:

type INFO is record
   Neighbors:List(ITEM => Unbounded_String);
   Name:Unbounded_String;
end record;
package Graph is new List(ITEM => INFO);

Почему это не работает?

1 Ответ

4 голосов
/ 11 ноября 2011

Ну, для вашего поля Соседи вы должны указать тип. Неверный синтаксис, который там присутствует, напоминает общий экземпляр.

Что-то еще в этом духе (предупреждение, не скомпилировано):

package List_Of_Strings is new List(Item => Unbounded_String);

type INFO is record
   Neighbors:List_Of_Strings.List_Type;
   Name:Unbounded_String;
end record;
package Graph is new List(ITEM => INFO);

Тогда Graph.List_Type будет вашим списком инфо-записей.

Осторожно, хотя! При обновлении элементов списка необходимо четко понимать, что такое передача по значению и семантика передачи по ссылке.

...