Usar Kotlin Script para ejecutar scripts por consola

Avatar
2 min lectura

Es posible que ya conozcas Kotlin para desarrollar Apps Android, pero los tentáculos de Kotlin llegan hoy a todas partes.

¿Sabías que existe una variante llamada Kotlin Script que te permite crear ficheros de script y ejecutarlos desde la consola de comandos?

¿Cómo es un script en Kotiln?

Un script Kotlin es simplemente un archivo con extensión .kts que contiene código Kotlin. Puedes escribir cualquier código Kotlin válido en un script, incluyendo declaraciones de variables, funciones y clases. Una vez que tienes tu script Kotlin listo, puedes ejecutarlo desde la consola usando el comando kotlinc seguido del nombre del archivo.

Por ejemplo, si tienes un script Kotlin llamado “hola.kts” que imprime “Hola mundo” en la consola, puedes ejecutarlo de la siguiente manera:

kotlinc -script hola.kts

Para pasar argumentos a tu script Kotlin, puedes usar el comando kotlinc-jvm y pasar los argumentos a través de la línea de comandos.

Por ejemplo, si quieres pasar el argumento “Mundo” a tu script y que este lo imprima en la consola, puedes hacerlo de la siguiente manera:

kotlinc -script hola.kts Mundo

En este caso, el script Kotlin recibiría el argumento “Mundo” y lo imprimiría en la consola.

Además de ejecutar scripts Kotlin desde la consola, también es posible incluir scripts Kotlin en aplicaciones Java existentes como una forma de extender la funcionalidad de la aplicación.

Para incluir un script Kotlin en una aplicación Java, puedes usar la API de scripting de Kotlin y cargar el script como un archivo de recursos en tu aplicación.

Un ejemplo de script en Kotlin

Aquí tienes un ejemplo de un script que recibe una palabra, y calcula mostrando como resultado cuántas apariciones de cada vocal hay en la palabra.

Crea por ejemplo un fichero llamado contarvocales.kts, y añade el siguiente código:

// Verificamos si se ha proporcionado una palabra como argumento
if (args.isEmpty()) {
    println("Por favor proporciona una palabra como argumento")
    System.exit(0)
}

val word = args[0]

// Creamos un mapa que almacenará el número de veces que aparece cada vocal en la palabra
val vowelCount = mutableMapOf<Char, Int>()
for (vowel in listOf('a', 'e', 'i', 'o', 'u')) {
    vowelCount[vowel] = 0
}

// Recorremos la palabra y contamos cuántas veces aparece cada vocal
for (c in word) {
    if (c in vowelCount) {
        vowelCount[c] = vowelCount[c]!! + 1
    }
}

// Mostramos el resultado
for (vowel in vowelCount.keys) {
    println("$vowel: ${vowelCount[vowel]}")
}

Ahora, para ejectuarlo:

kotlinc -script contarvocales.kts esternocleidomastoideo

Verás que el resultado es:

a: 1
e: 4
i: 2
o: 4
u: 0

Conclusión

En resumen, Kotlin script es una forma conveniente y potente de ejecutar código Kotlin directamente desde la consola o de incluirlo en aplicaciones Java existentes.

Con su sintaxis concisa y su compatibilidad con Java, Kotlin es una opción atractiva para muchos desarrolladores y puede ser una herramienta valiosa en tu caja de herramientas de programación.