Nyx con Ejemplos

Script Shebang

Los scripts de Nyx se pueden ejecutar directamente desde la línea de comandos usando una línea shebang (#!/usr/bin/env nyx). El lexer del compilador reconoce #! al inicio de un archivo y se salta toda la línea como comentario. get_args() da acceso a los argumentos de línea de comandos.

Código

#!/usr/bin/env nyx
// Shebang scripts — running Nyx files as executable scripts
// Scripts shebang — ejecutar archivos Nyx como scripts ejecutables
//
// Make this file executable: chmod +x 70-shebang-script.nx
// Then run directly: ./70-shebang-script.nx

fn greet(name: String) -> String {
    return "Hello, " + name + "!"
}

fn main() -> int {
    print(greet("World"))
    print("running as a script")

    // Access command-line arguments
    let args: Array = get_args()
    print("args: " + int_to_string(args.length()))

    if args.length() > 1 {
        let name: String = args[1]
        print(greet(name))
    }

    return 0
}

Salida

Hello, World!
running as a script
args: 1

Explicación

Una línea shebang (#!/usr/bin/env nyx) al comienzo de un archivo .nx le indica al sistema operativo que lo ejecute con el comando nyx. El lexer del compilador reconoce #! al inicio de un token y se salta toda la línea como comentario, de modo que el shebang no interfiere con la compilación.

get_args() devuelve los argumentos de línea de comandos como un array de strings. El primer elemento (args[0]) es el nombre del programa. Cualquier argumento adicional es accesible por índice.

Para hacer un script ejecutable: crear el archivo con la línea shebang, ejecutar chmod +x script.nx, y luego ejecutarlo directamente con ./script.nx. Esto hace que Nyx sea apto para scripting de shell, scripts de build y utilidades rápidas.

← Anterior Siguiente →

Source: examples/by-example/70-shebang-script.nx