2012-10-27 117 views
1

我正在寫一篇關於Ada 83的論文。我們有一個任務列出了論文的部分(歷史,設計目標,語法等等)。教師提到我們中的一些人將會有部分簡單地說「這種語言不支持這個功能」。Ada中的數據類型和結構

其中兩個部分是數據類型和數據結構。那麼,我能看到的所有東西都表明Ada只有數據類型而沒有數據結構。這是真的還是我錯過了什麼?我知道這是一個奇怪的問題(詢問1983年的Ada版本),但我不想做出如此大的主張,只是發現它是錯誤的。

+0

您可以爲您的論文定義「數據結構」嗎?例如,回到當天我的數據結構課程是使用Pascal進行教授的,Pascal大部分是Ada的一個特徵子集。 –

回答

5

我認爲通過「數據結構」你的意思是鏈表,棧,隊列等

在Ada83你可以實現數據結構,但標準庫不包含任何。 Non-standard libraries可用。

Ada95也是如此,但新的面向對象編程特性導致了幾個開源的容器庫,其中許多仍然可用。

Ada05修訂版的一部分是引入了標準化容器庫Ada.Containers,該庫已在Ada12修訂版中進行了擴展。

5

很多東西都可以叫數據結構。至於Ada,記錄和數組將是語言支持的數據結構。包也是一種數據結構。 Ada 2005的Ada.Containers(正如Simon所提到的)是標準庫的一部分,而不是語言本身(您的定義可能會有所不同;它們的是在LRM中定義的)。

像堆棧,散列圖,鏈表等複雜數據結構通常是該語言標準庫的一個特性,但在某些腳本語言中,其中一些(特別是哈希映射)實際上是語言特性。