Programación en Ada/Cláusula use

De Wikilibros, la colección de libros de texto de contenido libre.
← Paquetes Cláusula use Cláusula with →


Definición[editar]

Si no se desea tener que escribir siempre Pila_Enteros.Poner para llamar a dicho procedimiento desde fuera del paquete, se puede utilizar la cláusula use, cuya sintaxis es la siguiente:

cláusula_use_paquete ::= use identificador { , identificador } ;

Así pues, siguiendo con el ejemplo de la sección anterior, se podría escribir:

-- ...
declare
  use Pila_Enteros;
  N: Integer;
begin
  Poner (15);
  N := Quitar;
end;

Dicha cláusula use es semejante a una declaración y su ámbito llega al final del bloque. Incluso podría existir otra cláusula use más interna que se refiera al mismo paquete.

En el caso de existir varios paquetes anidados, se puede utilizar la notación punto para distinguirlos, por ejemplo:

package P1 is
  package P2 is
    -- ...
  end P2;
  -- ...
end P2;
use P1, P1.P2;  -- Ilegal sería "use P2;"

Para utilizar el paquete Standard, que contiene todas las entidades predefinidas, no se necesita cláusula use.

Desventajas[editar]

Muchos proyectos prohíben el uso de esta cláusula porque dificulta la comprensión del código y la localización de los tipos o subprogramas importados. Si deseas usarla lo más recomendable es usar un único use por cada unidad y haciéndolo sólo de los paquetes más conocidos o de los predefinidos.

Véase también[editar]