411 REFERENCE · Wikibooks
Ada Programming/Types/range
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Types range
__TOC__
A range is a signed integer value which ranges from a First to a last Last. It is defined as
range First .. Last
When a value is assigned to an object with such a range constraint, the value is checked for validity and Constraint_Error exception is raised when the value is not within First to Last.
When declaring a range type, the corresponding mathematical operators are implicitly declared by the language at the same place.
The compiler is free to choose a suitable underlaying hardware type for this user defined type.
Working example
The following example defines a new range from -5 to 10 and then prints the whole range out.
range_1.adb
with Ada Text_IO;
procedure Range_1 is
type Range_Type is range -5 .. 10;
package T_IO renames Ada.Text_IO;
package I_IO is new Ada.Text_IO.Integer_IO (Range_Type);
begin
for A in Range_Type loop
I_IO.Put (
Item => A,
Width => 3,
Base => 10);
if A < Range_Type'Last then
T_IO.Put (",");
else
T_IO.New_Line;
end if;
end loop;
end Range_1;
See also
Wikibook
Ada Programming
Ada Programming/Types
Ada Programming/Keywords/range
Ada Reference Manual
4 4 Expressions
3 5 4 Integer Types
Range
es:Programación en Ada/Tipos/Enteros