Ada Programming/Types/range
From Wikibooks, the open-content textbooks collection
< Ada Programming | Types
Contents |
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.
[edit] Working demo
The following Demo defines a new range from -5 to 10 and then prints the whole range out.
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;