Atributos de los arrays

Explicación

Todos los array tienen los atributos: First, Last, Length y Range; Así, si A es un array y N un valor entero positivo menor o igual que el número de dimensiones del array, se tiene:

A'First límite inferior del rango del primer índice de A
A'First(N) límite inferior del rango del N-ésimo índice de A. (A'First(1) = A'First)
A'Last límite superior del rango del primer índice de A
A'Last(N) límite superior del rango del N-ésimo índice de A. (A'Last(1) = A'Last)
A'Range equivalente al rango A'First .. A'Last
A'Range(N) equivalente al rango A'First(N) .. A'Last(N). (A'Range(1) = A'Range)
A'Length número de valores del rango del primer índice
A'Length(N) número de valores del rango del N-ésimo índice. (A'Length(1) = A'Length)

Ejemplo

El uso de los atributos permite escribir algoritmos aplicables independientemente del rango de las distintas dimensiones de un array.

procedure OrdenarVector (V : in out TLibre) is
   E : Float;
   P : Integer;
begin
   for I in V'First .. Integer'Pred (V'Last) loop
      P := I;
      for J in Integer'Succ(I) .. V'Last loop
         if V(J) < V(P) then
            P := J;
         end if ;
      end loop;

      if P /= I then
         E    := V(I);
         V(I) := V(P);
         V(P) := E;
      end if;
   end loop;
end OrdenarVector;

Véase