range

Explicación

Un rango es un subconjunto de valores de un tipo escalar especificado por un límite inferior y un límite superior. Si el límite inferior es L y el límite superior es R, el rango "L .. R" comprende todos los valores del tipo en cuestión que sean mayores o iguales que L y menores o iguales que R. Si L > R el rango es nulo.

Sintaxis

range_constraint ::= range rango
rango ::= range_attribute_reference
  | simple_expression .. simple_expression

Ejemplo

Ejemplos de rango como simple_expression .. simple_expresion:

-127 .. 128
A .. A + 10
0.0 .. 2.0
1 .. 0 -- rango nulo

Ejemplos de rango como range_attribute_reference (véase expresiones cualificadas):

Integer'Range --  rango Integer'First .. Integer'Last
Mat'Range(1)  --  rango 1 .. 5, supuesto que:
              --  Mat : array (1 .. 5, 1 .. 10) of Integer;

Ejemplos de restricción de rango (véase tipos enteros y tipos reales):

range -128.0 .. +128.0
range Integer'First .. Integer'Last - 1 

Véase