with Ada.Command_Line; | |
with Ada.Text_IO; | |
function Example return Integer is | |
function Square(num : Integer) return Integer is | |
begin | |
return num**2; | |
end Square; | |
function ReadCmdArgumentOrDefault(default: Integer) return Integer is | |
begin | |
if Ada.Command_Line.Argument_Count > 0 then | |
return Integer'Value(Ada.Command_Line.Argument(1)); | |
else | |
return Default; | |
end if; | |
end ReadCmdArgumentOrDefault; | |
NumberToSquare: Integer; | |
Answer: Integer; | |
begin | |
NumberToSquare := ReadCmdArgumentOrDefault(4); | |
Ada.Text_IO.Put_Line("Number to square: " & NumberToSquare'Image); | |
Answer := Square(NumberToSquare); | |
Ada.Text_IO.Put_Line("Square answer: " & Answer'Image); | |
return Answer; | |
end Example; |