Programación en Ada/Tipos/Strings

← Tipos/Arrays Strings Tipos/Registros →


En Ada los strings son un tipo especial de array que está implicitamente definido en el paquete Standard como:

type String is array (Positive range <>) of Character;

Que el rango se defina sobre el subtipo Positive implica que ningún string de Ada puede empezar en 0. Esta es una diferencia con los strings de C/C++, la otra es que un string de Ada no tiene por qué terminar en NUL (carácter de código 0), de hecho puede tener caracteres NUL intercalados. Esto es así porque los arrays de Ada siempre llevan asociados los límites (atributos 'First y 'Last).

Los literales de tipo String se encierran entre comillas.

Al ser String un array no restringido no podemos definir variables de ese tipo sin definir explícitamente o implícitamente los límites del array.

Nombre : String (1 .. 8);  -- Explícitamente
Nombre : String := "Fulanito"; -- Implícitamente

El operador & está definido para concatenar strings entre sí y caracteres con strings.

 Nombre_Completo : constant String := Nombre & ' ' & Apellidos;

Puesto que hay dos tipos de caracteres, hay también dos tipos de strings: String y Wide_String que es un array de Wide_Character. En Ada 2005 aparece también el tipo Wide_Wide_String cuyos elementos son Wide_Wide_Character.

Para facilitar el uso de los strings hay varios paquetes predefinidos para su manejo:

Para manejo de Wide_Strings existen otros tres paquetes predefinidos que se nombran anteponiendo Wide_ a cada uno.

Manual de refencia de Ada

editar