aboutsummaryrefslogtreecommitdiff
path: root/examples/ada/Square_Executable.adb
blob: 31f717c61c61747b9267ce8e3fcaebf39b9ada6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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;