The Ada Program: for_example.adb

  1 -- for_example.adb:  a procedure illustrating "for" loops
  2 
  3 with Ada.Text_IO, Ada.Integer_Text_IO;
  4 use Ada;
  5 
  6 procedure For_Example is
  7 
  8    type Day_Type is (Mon, Tue, Wed, Thu, Fri, Sat, Sun);
  9    package Day_Type_IO is new Text_IO.Enumeration_IO (Enum=>Day_Type);
 10 
 11 begin
 12 
 13    for Day in Mon .. Fri loop
 14       Day_Type_IO.Put (Day, Set=>Text_IO.Lower_Case);
 15       Text_IO.New_Line;
 16    end loop;
 17 
 18    for I in reverse 1..4 loop
 19       for J in reverse 1..I loop
 20          Integer_Text_IO.Put (I);
 21       end loop;
 22       Text_IO.New_Line;
 23    end loop;
 24 
 25    -- ['A' is an overloaded enumeration literal--of type "Character"
 26    --  and type "Wide_Character."  Hence, we need to disambiguate it.]
 27    for Letter in Character range 'A' .. 'Q' loop
 28       Text_IO.Put (Letter);
 29    end loop;
 30    Text_IO.New_Line;
 31 
 32    for Letter in Character'('A') .. 'Q' loop
 33       Text_IO.Put (Letter);
 34    end loop;
 35    Text_IO.New_Line;
 36 
 37 end For_Example;