E/S de Terminal
E/S de Terminal
Sección titulada «E/S de Terminal»Leer desde stdin y escribir a stdout/stderr para aplicaciones CLI.
local io = require("io")Escribir a Stdout
Sección titulada «Escribir a Stdout»Escribir strings a stdout sin nueva linea:
local ok, err = io.write("text", "more")| Parámetro | Tipo | Descripción |
|---|---|---|
... | any | Número variable de valores a escribir (convertidos a string) |
Devuelve: boolean, error
Print con Nueva Linea
Sección titulada «Print con Nueva Linea»Escribir valores a stdout con tabs entre ellos y nueva linea al final:
io.print("value1", "value2", 123)| Parámetro | Tipo | Descripción |
|---|---|---|
... | any | Número variable de valores a imprimir |
Devuelve: boolean, error
Escribir a Stderr
Sección titulada «Escribir a Stderr»Escribir valores a stderr con tabs entre ellos y nueva linea al final:
io.eprint("Error:", message)| Parámetro | Tipo | Descripción |
|---|---|---|
... | any | Número variable de valores a imprimir |
Devuelve: boolean, error
Leer Bytes
Sección titulada «Leer Bytes»Leer hasta n bytes desde stdin:
local data, err = io.read(1024)| Parámetro | Tipo | Descripción |
|---|---|---|
n | integer | Número de bytes a leer (predeterminado: 1024, valores <= 0 se convierten en 1024) |
Devuelve: string, error
Leer una Linea
Sección titulada «Leer una Linea»Leer una linea desde stdin hasta nueva linea:
local line, err = io.readline()Devuelve: string, error
Modo Raw
Sección titulada «Modo Raw»Activa o desactiva el modo raw del terminal (deshabilita el buffering por líneas y el eco):
local ok, err = io.raw(true) -- activarlocal ok, err = io.raw(false) -- desactivar| Parámetro | Tipo | Descripción |
|---|---|---|
enable | boolean | true para activar, false para desactivar (por defecto: true) |
Devuelve: boolean, error
El modo raw usa conteo de referencias — cada io.raw(true) debe emparejarse con un io.raw(false). El terminal se restablece automáticamente al modo normal al salir el proceso.
Vaciar Salida
Sección titulada «Vaciar Salida»Vaciar buffer de stdout:
local ok, err = io.flush()Devuelve: boolean, error
Argumentos de Linea de Comandos
Sección titulada «Argumentos de Linea de Comandos»Obtener argumentos de linea de comandos:
local args = io.args()Devuelve: string[]
Errores
Sección titulada «Errores»| Condición | Tipo | Reintentable |
|---|---|---|
| Sin contexto de terminal | errors.UNAVAILABLE | no |
| Operación de escritura fallida | errors.INTERNAL | no |
| Operación de lectura fallida | errors.INTERNAL | no |
| Operación de flush fallida | errors.INTERNAL | no |
Consulte Manejo de Errores para trabajar con errores.