수색…


일반 서브 프로그램

일반 서브 프로그램은 여러 유형에 대해 동일한 구조를 갖는 서브 프로그램을 작성하는 데 유용합니다. 예를 들어 두 객체를 서로 바꾸려면 다음을 수행합니다.

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;

일반 패키지

Ada 제네릭 패키지에서는 인스턴스화시 데이터가 복제됩니다. 즉, 전역 변수를 포함하고있는 경우, 각 인스턴스는 해당 유형의 고유 한 사본을 가지며, 다른 유형과 적절하게 유형이 지정되고 독립적입니다.

generic
    type T is private;
package Gen is
    type C is tagged record
        V : T;
    end record;
    G : Integer;
end Gen;

일반 매개 변수

Ada는 다른 언어로 번역하기 어려운 다양한 일반 매개 변수를 제공합니다. 인스턴스화 중에 사용 된 매개 변수 및 결과적으로 일반 단위가 의존 할 수있는 매개 변수는 특정 특성을 갖는 변수, 유형, 서브 프로그램 또는 패키지 인스턴스 일 수 있습니다. 예를 들어, 다음은 모든 종류의 배열에 대한 정렬 알고리즘을 제공합니다.

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);


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow