ada
Großzügigkeit in Ada
Suche…
Generische Unterprogramme
Generische Unterprogramme sind nützlich, um Unterprogramme zu erstellen, die für mehrere Typen dieselbe Struktur haben. Um beispielsweise zwei Objekte auszutauschen:
generic
type A_Type is private;
procedure Swap (Left, Right : in out A_Type) is
Temp : A_Type := Left;
begin
Left := Right;
Right := Temp;
end Swap;
Generische Pakete
Im generischen Ada-Paket werden die Daten bei der Instantiierung dupliziert. Das heißt, wenn sie globale Variablen enthalten, hat jede Instanz eine eigene Kopie der Variablen, die richtig typisiert und von den anderen unabhängig ist.
generic
type T is private;
package Gen is
type C is tagged record
V : T;
end record;
G : Integer;
end Gen;
Generische Parameter
Ada bietet eine Vielzahl von generischen Parametern, die schwer in andere Sprachen zu übersetzen sind. Die Parameter, die während der Instantiierung verwendet werden und infolgedessen diejenigen, auf die sich die generische Einheit verlassen kann, können Variablen, Typen, Unterprogramme oder Paketinstanzen mit bestimmten Eigenschaften sein. Im Folgenden finden Sie beispielsweise einen Sortieralgorithmus für jede Art von Array:
generic
type Component is private;
type Index is (<>);
with function "<" (Left, Right : Component) return Boolean;
type Array_Type is array (Index range <>) of Component;
procedure Sort (A : in out Array_Type);