-- Variations of for loops
with ada.text_io; use ada.text_io;
with ada.integer_text_io; use ada.integer_text_io;
procedure loops2 is
first, last: Integer;
begin
-- Print 2 Positives and 2 negatives, in REVERSE
for j in reverse -2 .. 2 loop
put(j);
end loop;
new_line;
-- Empty range - prints nothing. Gives compiler warning
for j in 10 .. 1 loop
put(j);
end loop;
-- Empty range - prints nothing. Gives compiler warning
for j in reverse 10 .. 1 loop
put(j);
end loop;
-- Variables for range limits
first := 1;
last := 3;
for j in reverse first .. last loop
put(j);
end loop;
new_line;
-- Empty range - prints nothing. Variables for limits.
first := 1;
last := 3;
for j in last .. first loop
put(j);
end loop;
end loops2;
-- Output:
--| 2 1 0 -1 -2
--| 3 2 1