Argumentos de Línea de Comandos
En éste proyecto se creará un programa que repetira las palabras que sean proporcionadas desde la línea de comandos.
Estas palabras serán dadas al iniciar el programa como "argumentos de línea de comandos", el cual es un elemento común que permite obtener resultados y comportamientos diferentes dependiendo de los valores proporcionados. Es el primer paso en crear programas usables.
Para ejemplificar se puede nombrar a Alire, que previamente se ha usado con argumentos para distintas operaciones.
Creación del Proyecto
Para crear el proyecto utilizamos el comando init
.
$ alr init --bin command_line_args
Alire preguntará algunos datos necesarios para nuestro proyecto.
La mayoría se puede omitir presionando la tecla Enter
.
Al abrir el archivo src/command_line_args.adb
se puede ver el siguiente código
procedure Command_Line_Args is
begin
null;
end Command_Line_Args;
Implementación
La implementación consiste en utilizar la biblioteca Ada.Command_Line
para obtener los argumentos
y un ciclo for
para mostrarlos.
with Ada.Text_IO;
with Ada.Command_Line;
procedure Command_Line_Args is
use Ada.Text_IO;
use Ada.Command_Line;
begin
for next in 1 .. Argument_Count loop
Put_Line(Argument(next));
end loop;
end Command_Line_Args;
Al ejecutar el siguiente comando:
$ alr run --args="Yo Como Pan"
Se obtiene el resultado
✓ Build finished successfully in 1.44 seconds.
Yo
Como
Pan
Línea | Descripción |
---|---|
|
Parte de la biblioteca |
|
Parte de la biblioteca |
La diferencia entre un ciclo |
Mostrar argumentos a la inversa
Para invertir el orden de los argumentos se puede usar la palabra clave reverse
.
with Ada.Text_IO;
with Ada.Command_Line;
procedure Command_Line_Args is
use Ada.Text_IO;
use Ada.Command_Line;
begin
for next in reverse 1 .. Argument_Count loop
Put_Line(Argument(next));
end loop;
end Command_Line_Args;
Al ejecutar el siguiente comando:
$ alr run --args="Yo Como Pan"
Se obtiene el resultado
✓ Build finished successfully in 1.44 seconds.
Pan
Como
Yo