ada
Generosità in Ada
Ricerca…
Sottoprogrammi generici
Sottoprogrammi generici sono utili per creare sottoprogrammi che hanno la stessa struttura per diversi tipi. Ad esempio, per scambiare due oggetti:
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;
Pacchetti generici
Nel pacchetto generico di Ada, dopo l'istanziazione, i dati sono duplicati; cioè, se contengono variabili globali, ciascuna istanza avrà la propria copia della variabile, correttamente digitata e indipendente dalle altre.
generic
type T is private;
package Gen is
type C is tagged record
V : T;
end record;
G : Integer;
end Gen;
Parametri generici
Ada offre un'ampia varietà di parametri generici difficili da tradurre in altre lingue. I parametri utilizzati durante l'istanziazione e di conseguenza quelli su cui l'unità generica può fare affidamento possono essere variabili, tipi, sottoprogrammi o istanze di pacchetto, con determinate proprietà. Ad esempio, il seguente fornisce un algoritmo di ordinamento per qualsiasi tipo di 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);