Справочник Ada 2005
A.15 Пакет Command_Line
Пакет Command_Line позволяет программе получать значения её аргументов и устанавливать код возвращаемого статуса завершения при нормальном завершении работы.
Статическая семантика
Библиотечный пакет Ada.Command_Line имеет следующее объявление:
package Ada.Command_Line is
pragma Preelaborate(Command_Line);
pragma Preelaborate(Command_Line);
function Argument_Count return Natural;
function Argument (Number : in Positive) return String;
function Command_Name return String;
type Exit_Status is тип целого, определяемый реализацией;
Success : constant Exit_Status;
Failure : constant Exit_Status;
Failure : constant Exit_Status;
procedure Set_Exit_Status (Code : in Exit_Status);
private
... -- не определено языком
end Ada.Command_Line;
... -- не определено языком
end Ada.Command_Line;
function Argument_Count return Natural;
Если внешняя среда выполнения поддерживает передачу аргументов программе, то Argument_Count возвращает количество аргументов, переданных программе, вызывающей функцию. В противном случае возвращает 0. Значение «количество аргументов» определяется реализацией.
function Argument (Number : in Positive) return String;
Если внешняя среда выполнения поддерживает передачу аргументов программе, то Argument возвращает значение, определяемое реализацией, соответствующее аргументу с относительной позицией Number. Если Number находится вне диапазона 1..Argument_Count, то возникает ошибка Constraint_Error.
function Command_Name return String;
Если внешняя среда выполнения поддерживает передачу аргументов программе, то Command_Name возвращает значение, определяемое реализацией, соответствующее имени команды, вызвавшей программу; в противном случае Command_Name возвращает пустую строку.
type Exit_Status is тип целого, определяемый реализацией;
Тип Exit_Status представляет диапазон значений статуса завершения, поддерживаемых внешней средой выполнения. Константы Success и Failure соответствуют успешному и неуспешному завершению соответственно.
procedure Set_Exit_Status (Code : in Exit_Status);
Если внешняя среда выполнения поддерживает возврат статуса завершения от программы, то Set_Exit_Status устанавливает Code в качестве статуса. Нормальное завершение программы возвращает в качестве статуса завершения значение, наиболее недавно установленное функцией Set_Exit_Status, или, если такое значение не было установлено, то значение Success. Если программа завершается аномально, то установленный функцией Set_Exit_Status статус игнорируется, и устанавливается определяемое реализацией значение статуса завершения.
Если внешняя среда выполнения не поддерживает возврат значения выхода из программы, то Set_Exit_Status ничего не делает.
Разрешения реализации
Допускается альтернативное объявление пакета Command_Line, если для внешней среды выполнения уместна иная функциональность.
ПРИМЕЧАНИЯ
36 Argument_Count, Argument и Command_Name соответствуют argc, argv[n] (для n>0) и argv[0] языка C соответственно.