Ada中的数据类型和结构

4
我正在撰写一篇关于Ada 83的论文。我们有一个任务清单列出了论文的各个部分(历史、设计目标、语法等)。老师提到,其中一些部分会简单地说“这种语言不支持这个功能”。
其中两个这样的部分是数据类型和数据结构。我所看到的所有内容都表明,Ada只有数据类型而没有数据结构。这是真的吗,还是我漏掉了什么?我知道这是一个奇怪的问题(询问1983年版的Ada),但我不想在没有确认之前就做出如此重大的声明。

你能为你的论文定义“数据结构”吗?例如,早些时候我的数据结构课程是使用Pascal教授的,它在很大程度上是Ada的特性子集。 - T.E.D.
2个回答

7
我假设你所说的“数据结构”是指链表、栈、队列等。
在 Ada83 中,你可以实现数据结构,但标准库中并没有包含任何内容。非标准库是可用的。
在 Ada95 中也是如此,但新的面向对象编程特性导致了几个开源容器库的出现,其中许多仍然可用。
Ada05 修订的一部分是引入了一个标准化的容器库 Ada.Containers,该库在 Ada12 修订中得到了扩展。

6
许多东西都可以称为数据结构。对于Ada语言来说,记录和数组是受支持的数据结构。包也是一种数据结构。Ada 2005年的 Ada.Containers (如Simon所提到的)是标准库的一部分,而不是语言本身(您的定义可能会有所不同;它们在LRM中被定义)。像堆栈、哈希图、链表等复杂的数据结构通常是语言标准库的一个特性,但在某些脚本语言中,其中一些(尤其是哈希图)实际上是语言特性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接