with Ada.Text_IO; use Ada.Text_IO; with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; with Ada.Characters.Handling; use Ada.Characters.Handling; procedure LookAheadDemo is c: Character; i: Integer; line: String(1 .. 80); len: Natural; EOL: Boolean; begin loop put("Enter a number or a string, or 'x' to exit: "); look_ahead(c, EOL); put_line("Value of c: |" & c & "|"); put_line("Value of EOL: " & Boolean'Image(EOL)); -- when EOL is true, look_ahead does not set c exit when c = 'x' and not EOL; if EOL then put_line("EOL is true."); skip_line; -- Go to next line else -- Not EOL if Ada.Characters.Handling.is_digit(c) then -- Input and print an integer get(i); put_line("You entered this number: " & Integer'Image(i)); else -- Input didn't start with a number -- Input and print a string get_line(line, len); put_line("You entered this string: " & line(1 .. len)); end if; end if; end loop; end LookAheadDemo;