軟體工程師手冊/語言詞典/Ada
Ada是一種強型別多正規化程式語言,適用於嵌入式系統,裝置驅動程式和其他形式的系統程式設計。
Ada是一種完整的多正規化程式語言,實現以下正規化:併發,分散式,泛型(模板超程式設計),命令式和面向物件(基於類)程式設計。
入口點的過程名稱可以自由選擇。
典型的語句用分號完成。對於將b賦值給a,使用
a := b ;
-- this is an inline comment. Everything after the -- is a comment.
宣告可以出現在塊的開頭。
將i宣告為整數
declareI : Integer ;begin-- programend;
以下是兩種將i宣告為整數並賦予其初始值0的方法
declareI : Integer := 0 ;begin-- programend;
過程和函式分別由關鍵字過程或函式宣告。有關詳細資訊,請參閱Ada 程式設計/子程式。
procedureA_Test (A, B:inInteger; C:outInteger)isbeginC := A + B;endA_Test;
functionMinimum (A, B : Integer)returnIntegerisbeginifA <= BthenreturnB;elsereturnA;endif;endMinimum;
類方法是在與類記錄相同的範圍內宣告的原始操作(過程和函式)。有關詳細資訊,請參閱Ada_Programming/面向物件。
作用域透過使用包來宣告,包可能包含三個部分:公共規範(包),私有規範(私有)和主體(包 主體).
packagePackage_With_BodyistypeBasic_Recordisprivate;procedureSet_A (This :inoutBasic_Record; An_A :inInteger);functionGet_A (This : Basic_Record)returnInteger;privatetypeBasic_RecordisrecordA : Integer;endrecord;endPackage_With_Body;
packagebodyPackage_With_BodyisprocedureSet_A (This :inoutBasic_Record; An_A :inInteger)isbeginThis.A := An_A;endSet_A;functionGet_A (This : Basic_Record)returnIntegerisbeginreturnThis.A;endGet_A;endPackage_With_Body;
有關詳細資訊,請參閱Ada_Programming/包。
<用文字描述條件語句,並提供
ifA < Range_Type'LastthenT_IO.Put (",");elseT_IO.New_Line;endif;
有關詳細資訊,請參閱Ada_Programming/控制#if-else。
<用英語描述迴圈語句,並提供程式碼示例。>
forAinRange_TypeloopI_IO.Put (Item => A, Width => 3, Base => 10);ifA < Range_Type'LastthenT_IO.Put (",");elseT_IO.New_Line;endif;endloop;
有關詳細資訊,請參閱Ada 程式設計/控制#loops。
<描述如何輸出Hello world!,包括換行符,帶或不帶回車符。>
withAda.Text_IO;procedureHelloisbeginAda.Text_IO.Put_Line("Hello, world!");endHello;
有關詳細資訊,請參閱Ada_Programming/庫/Ada.Text_IO。
<描述錯誤處理和恢復。根據需要提供示例。>
有關詳細資訊,請參閱Ada_Programming/異常。
以下預定義的包現在可以在 Ada 中原生使用(自 Ada 2005)
- Ada.Containers.Doubly_Linked_Lists
- Ada.Containers.Hashed_Maps
- Ada.Containers.Hashed_Sets
- Ada.Containers.Ordered_Maps
- Ada.Containers.Ordered_Sets
- Ada.Containers.Vectors
這些是確定版本 - 每個區域的非確定版本也提供。所有容器都是無界限的。
<列出此語言原生可用的演算法或演算法列表的引用。列出在語言中沒有原生支援的情況下如何合併演算法。或者,如果不可用,請描述這一點。>
垃圾回收可以是手動或自動的 - 請參閱您的編譯器手冊。如果提供自動回收,則 可以停用對命名訪問型別的自動回收。pragma Controlled ()
對於手動釋放,使用包 Ada.Unchecked_Deallocation。
有關詳細資訊,請參閱 Ada 程式設計/型別/訪問。
<描述檔案、庫和部分的典型劃分和排列方式。>
<請包括便於從其他語言切換到此語言的提示。>