Lua:
Escribiendo un archivo de texto

Cómo hacerlo:

En Lua, trabajar con archivos para escribir es sencillo. Normalmente utilizarás la función io.open() para abrir (o crear) un archivo, especificando el modo de operación – en este caso, "w" para escritura. Si el archivo no existe, se crea; si existe, su contenido se sobrescribe. Es crucial cerrar el archivo después de escribir para asegurar que los datos se guarden correctamente y los recursos se liberen.

Aquí hay un ejemplo simple que escribe una cadena en un archivo llamado “example.txt”:

-- Abriendo el archivo en modo de escritura
local file, err = io.open("example.txt", "w")

-- Verificando errores al abrir el archivo
if not file then
    print("No se pudo abrir el archivo: ", err)
    return
end

-- El texto que será escrito en el archivo
local text = "¡Hola, Lua!"

-- Escribiendo el texto en el archivo
file:write(text)

-- Cerrando el archivo
file:close()

print("Archivo escrito exitosamente.")

Salida de Ejemplo:

Archivo escrito exitosamente.

Escribiendo Múltiples Líneas:

Para escribir múltiples líneas, puedes usar \n para nuevas líneas en tu cadena de texto, o llamar a file:write varias veces.

local lines = {
    "Primera línea.",
    "Segunda línea.",
    "Tercera línea."
}

local file = assert(io.open("multiple_lines.txt", "w"))

for _, line in ipairs(lines) do
    file:write(line, "\n")
end

file:close()

print("Múltiples líneas escritas exitosamente.")

Salida de Ejemplo:

Múltiples líneas escritas exitosamente.

Usando Bibliotecas de Terceros:

Aunque la biblioteca estándar de Lua es bastante capaz, para operaciones de archivo más complejas, podrías considerar usar una biblioteca de terceros como Penlight. Penlight mejora las operaciones de archivo estándar de Lua y proporciona formas más fáciles de trabajar con archivos y directorios.

Después de instalar Penlight, puedes escribir en un archivo de esta manera:

local pl = require "pl"
local path = require "pl.path"
local file = require "pl.file"

-- El texto a escribir
local text = "¡Hola, Penlight!"

-- Usando Penlight para escribir en un archivo
local result, err = file.write("hello_penlight.txt", text)

if not result then
    print("Error al escribir archivo: ", err)
else
    print("Archivo escrito exitosamente con Penlight.")
end

Salida de Ejemplo:

Archivo escrito exitosamente con Penlight.