next up previous contents
Siguiente: Formaciones irrestringidas Subir: Formación (array) Anterior: Operadores para formaciones unidimensionales   Índice General

Atributos First, Last y Length

En las formaciones podemos utilizar los atributos First y Last para saber cual es su primer y último índice válido. Por ejemplo:

      type T_Vector is array(30 .. 33) of Integer; 
      Mi_Vector : T_Vector; 
      ... 
      Mi_Vector( T_Vector'First ) := 1000;    -- Mi_Vector(30) := 1000;
      Mi_Vector( Mi_Vector'First) := 1000;    -- Mi_Vector(30) := 1000;
      
      Mi_Vector( T_Vector'Last )  := 3000;    -- Mi_Vector(33) := 3000;
      Mi_Vector( Mi_Vector'Last)  := 3000;    -- Mi_Vector(33) := 3000;

El atributo Range es una abreviación del rango First .. Last. Se suele utilizar para recorrer todos los elementos de una formación. Por ejemplo:

      for I in Mi_Vector'Range loop
          ...
      end loop;

En este ejemplo T_Vector'Range y Mi_Vector'Range representan el rango 30 .. 33.

También podemos utilizar el atributo Length para conocer el número de elementos de una formación. En el ejemplo anterior T_Vector'Length y Mi_Vector'Length valen 4.

Cuando tenemos formaciones multidimensionales debemos decir entre paréntesisa cual de los índices nos referimos. Por ejemplo:

   type T_Tabla is array (Positive range 1 .. 10,
                         Integer range -34 .. 6) of Character;

   --  T_Tabla'First (1) vale 1
   --  T_Tabla'Last  (1) vale 10

   --  T_Tabla'First (2) vale -34
   --  T_Tabla'Last  (2) vale 6



Javier Miranda 2002-10-03