Ir al contenido principal

Ballerina en un vistazo (6)

Ballerina ha sido diseñado para desarrollar aplicaciones modernas. Nos permite crear aplicaciones para:

  • Consumir servicios. Trabajar con datos. 
  • Crear REST APIs. 
  • Crear gRPC APIs. 
  • Trabajar con GraphQL. 
  • Aplicaciones tipo productor-consumidor con Apache Kafka. 
  • Trabajar con bases de datos. 
  • Trabajar con LLMs.

Hoy veremos el paso de parámetros en un programa sencillo hecho en Ballerina.

Comenzamos creando un proyecto:

$ bal new parametros
$ cd parametros

Editamos el programa ``main.bal``

import ballerina/io;

public function main(string... args) {
    
}

Agregamos una variable tipo Array en la cabecera (main).

Ahora escribimos unas sentencias para validar si el arreglo esta vacío o no

import ballerina/io;

public function main(string... args) {
     if args.length() == 0 {
        io:println("No se proporcionaron argumentos.");
        return;
    }
}

Para mostrar cada uno de los parámetros que le pasamos al programa podemos hacer esto:

    io:println("Argumentos recibidos:");
    foreach var arg in args {
        io:println(arg);
    }

O de esta otra:

   foreach int i in 0 ..< args.length() {
        io:println("Argumento ", i + 1, ": ", args[i]);
    }

Si queremos validar que el número de parámetros cumple una condición, podemos hacer lo siguiente:

if args.length() >= 2 {
        var num1 = int:fromString(args[0]);
        var num2 = int:fromString(args[1]);

        if num1 is int && num2 is int {
            io:println("Suma de ", num1, " y ", num2, ": ", num1 + num2);
        } else {
            io:println("Error: Los argumentos deben ser números enteros.");
        }
    } else {
        io:println("Por favor, proporcione al menos dos argumentos numéricos.");
    }

En este caso validamos si son dos parámetros. Si es así, los dos primeros se conviertene a tipo entero y se realiza una suma.

El código completo:

import ballerina/io;

public function main(string... args) {
   if args.length() == 0 {
        io:println("No se proporcionaron argumentos.");
        return;
    }

    io:println("Argumentos recibidos:");
    foreach var arg in args {
        io:println(arg);
    }

    foreach int i in 0 ..< args.length() {
        io:println("Argumento ", i + 1, ": ", args[i]);
    }

    if args.length() >= 2 {
        var num1 = int:fromString(args[0]);
        var num2 = int:fromString(args[1]);

        if num1 is int && num2 is int {
            io:println("Suma de ", num1, " y ", num2, ": ", num1 + num2);
        } else {
            io:println("Error: Los argumentos deben ser números enteros.");
        }
    } else {
        io:println("Por favor, proporcione al menos dos argumentos numéricos.");
    }
}

Consstruimos el proyecto:

$ bal build

Ejecutamos el proyecto:

$ bal run -- 6 4

Salida:

Argumentos recibidos:
6
4
Argumento 1: 6
Argumento 2: 4
Suma de 6 y 4: 10

Continuaremos con más ejemplos de Ballerina en próximas entregas.

Enlaces:

https://ballerina.io/
https://alquimistadecodigo.blogspot.com/2022/09/ballerina-en-un-vistazo.html
https://alquimistadecodigo.blogspot.com/2022/11/ballerina-en-un-vistazo-2.html
https://alquimistadecodigo.blogspot.com/2023/03/ballerina-en-un-vistazo3.html
https://alquimistadecodigo.blogspot.com/2023/05/ballerina-en-un-vistazo-4.html
https://alquimistadecodigo.blogspot.com/2024/03/ballerina-en-un-vistazo-5.html
https://alquimistadecodigo.blogspot.com/2020/09/docker-instalando-ballerina.html
https://alquimistadecodigo.blogspot.com/2024/03/hello-ballerina-video-youtube.html

Comentarios

Entradas populares de este blog

Odin language: el lenguaje de programación orientado a datos para un desarrollo de software sensato

En esta serie sobre lenguajes de programación hablamos de Odin , un lenguaje orientado a datos. Un nuevo lenguaje de programación que nos podrá recordar a lenguajes como C++, Python, Golang o hasta Rust. Instalación (Windows): 1 2 3 4 $ git clone https://github.com/odin-lang/Odin $ cd Odin $ git pull $ build.bat release Debemos asegurarnos de crear la variable de entorno: Nombre: ODIN_HOME Valor: C:\Users\HP\Documents\pruebasOdin\Odin Ejemplo 1. Como primer programa tendremos al clásico "Hola, mundo". holamundo.odin package holamundo import " core:fmt " main : : proc ( ) { fmt . println ( " ¡Hola, mundo desde Odin! " ) } Construimos: $ odin build holamundo . odin - file Ejecutamos: $ holamundo .exe Recordar que si usamos Visual Studio Code podemos instalar el plugin de Odin Language: https://marketplace.visualstudio.com/items?itemName=DanielGavin.ols Ejemplo 2. Programa que muestre las variables que pod...

Programación Windows Batch (CMD) parte 3

Crear ciclos para efectuar operaciones tediosas nos ahorrará tiempo para realizar otras tareas. En está ocasión veremos ciclos con FOR . ¿Cuál es la síntaxis de bucle FOR en Windows Batch? Si está dentro de un archivo *.bat : FOR %%variable IN (seq) DO operaciones Si lo ejecutamos en una terminal: FOR %variable IN (seq) DO operaciones Ejemplo 1 . Recorrer una secuencia de números del 0 al 5: recorrer.bat @ echo off FOR %%i in ( 0 1 2 3 4 5 ) DO echo Hola no. %%i pause Nos imprimirá en pantalla: Hola no. 0 Hola no. 1 Hola no. 2 Hola no. 3 Hola no. 4 Hola no. 5 ¿Puedo usar contadores? Si, se pueden usar. Ejemplo 2 . Uso de contadores: contador.bat @ echo off set numeros = 1 2 3 4 5 6 7 8 9 10 set cont = 0 for %%a in ( %numeros% ) do ( echo Hola no. %%a :: Contador set /a cont+ = 1 ) echo Total: %cont% Este código nos imprimirá, además de los mensajes Hola no. 0 ..., el total de valores conta...

z/OS, ¿Qué es? y ¿Cuáles son sus herramientas?

  En este post veremos las herramientas de z/OS de IBM. z/OS es un sistema operativo de mainframe desarrollado por IBM.  Es parte de la serie IBM z Systems (anteriormente conocida como System z), que se utiliza en los sistemas mainframe de IBM. z/OS es uno de los sistemas operativos más utilizados en el mundo empresarial para ejecutar aplicaciones críticas y procesar grandes volúmenes de datos. Características clave de z/OS: Escalabilidad : z/OS es conocido por su capacidad para manejar grandes cargas de trabajo y escalabilidad vertical, lo que permite agregar recursos de hardware para satisfacer las demandas de procesamiento. Confiabilidad y disponibilidad : z/OS está diseñado para ofrecer alta disponibilidad y confiabilidad. Incorpora características como redundancia y recuperación ante fallas para garantizar la continuidad de las operaciones. Seguridad : Proporciona una amplia gama de funciones de seguridad, como autenticación, autorización y auditoría, para proteger los...