Hello, I am a beginner at Ada and programming in general. Currently,
I am practising by writing programs that perform operations on text I input via
I have several questions about the best practices for doing so.
The code below is my learning attempt for different methods for reading:
with Ada.Text_IO; use Ada.Text_IO; --This program will echo what the user types in. procedure Main is input : Character; line_end : Boolean := False; begin Put_Line("Enter some characters."); Put_Line("Output is character by character."); loop Get(input); Put(input); exit when End_Of_Line; end loop; New_Line; Put_Line("This uses strings."); Put_Line("Enter a sentence: "); ------------------ Look_Ahead (Item => input, End_Of_Line => line_end); if line_end then Put_Line ("Arr, end of the line matey"); else Put (input); end if; ------------------ declare s : String := Get_Line; begin Put_Line(s); end; end Main;
I noticed that the declaration for the String ‘s’ would read a new line and end the program without myself being able to type any characters.
Question 1: Which part of the code is resulting in a new line being left to read for the Get_Line function? If I add the Skip_Line procedure just before the new line check, I dont have any issues.
Question 2: What is the best practice for reading in things from the keyboard?
I appreciate any hints. Thank you.