Lua:
Написання текстового файлу

Як це зробити:

У Lua робота з файлами для запису є простою. Зазвичай ви будете використовувати функцію io.open(), щоб відкрити (або створити) файл, вказуючи режим роботи – у цьому випадку, "w" для запису. Якщо файл не існує, він створюється; якщо існує, його вміст перезаписується. Важливо закрити файл після запису, щоб забезпечити правильне збереження даних і звільнення ресурсів.

Ось простий приклад, який записує рядок у файл під назвою “example.txt”:

-- Відкриваємо файл у режимі запису
local file, err = io.open("example.txt", "w")

-- Перевіряємо на наявність помилок при відкритті файлу
if not file then
    print("Не вдалося відкрити файл: ", err)
    return
end

-- Текст, який буде записано до файлу
local text = "Привіт, Lua!"

-- Запис тексту у файл
file:write(text)

-- Закриваємо файл
file:close()

print("Файл успішно записано.")

Приклад виводу:

Файл успішно записано.

Запис декількох рядків:

Щоб записати декілька рядків, ви можете використовувати \n для нових ліній у вашому текстовому рядку, або викликати file:write декілька разів.

local lines = {
    "Перший рядок.",
    "Другий рядок.",
    "Третій рядок."
}

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

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

file:close()

print("Декілька рядків успішно записано.")

Приклад виводу:

Декілька рядків успішно записано.

Використання сторонніх бібліотек:

Хоча стандартна бібліотека Lua є досить здатною, для більш складних операцій з файлами, ви можете розглянути використання сторонньої бібліотеки, як-от Penlight. Penlight покращує стандартні операції з файлами Lua і надає простіші способи роботи з файлами та директоріями.

Після установки Penlight ви можете записувати в файл так:

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

-- Текст, який треба записати
local text = "Привіт, Penlight!"

-- Використання Penlight для запису у файл
local result, err = file.write("hello_penlight.txt", text)

if not result then
    print("Помилка запису файлу: ", err)
else
    print("Файл успішно записано за допомогою Penlight.")
end

Приклад виводу:

Файл успішно записано за допомогою Penlight.