Dokumentace CLua

📄 Práce s textovými soubory

CLua obsahuje jednoduché funkce pro čtení a zápis textových souborů v několika kódováních. Všechny operace jsou omezeny na adresář programu — není možné pracovat mimo jeho strukturu.


💾 Uložení textu do souboru

SaveFile("data/test.txt", "Obsah souboru", Encoding.UTF8);
  • První parametr je relativní cesta k souboru.
  • Druhý parametr je samotný text.
  • Třetí parametr určuje kódování (viz tabulka níže).

📥 Načtení textového souboru

local obsah = LoadFile("data/test.txt", Encoding.UTF8);
  • Vrací načtený obsah jako string.
  • Pokud není specifikováno kódování, pokusí se o automatickou detekci.

🔎 Kontrola existence souboru

if FileExists("data/test.txt") then
    print("Soubor existuje!");
end;
  • Vrací boolean hodnotu.

🧾 Dostupná kódování

Encoding = {
  ANSI = "ansi", 
  UTF8 = "utf8",
  UTF8BOM = "utf8bom",
  UTF16 = "utf16", 
  UTF16LE = "utf16le", 
  UTF16BE = "utf16be",
  Unicode = "utf16le" -- Alias
};

🔠 Speciální znaky

CR     = string.char(13); -- CR - \r (Konec řádku pre-OSX - starý MacOS)
LF     = string.char(10); -- LF - \n (Konec řádku Unix/MacOS)
CRLF   = CR .. LF;        -- CR + LF - \r\n (Konec řádku Windows);
t      = string.char(9);  -- Tab
Q      = string.char(34); -- "
a      = string.char(39); -- '

📁 Výpis souborů ve složce

local files = GetFiles("data/units")
-- vrátí tabulku názvů souborů v dané složce

local files = GetFiles("data/units", "lua")
-- filtruje výsledky podle přípony (bez tečky)

local files = GetFiles("data/units", "lua", true)
-- odstraní přípony z vrácených názvů
  • První parametr je relativní cesta ke složce.
  • Druhý parametr (nepovinný) filtruje výsledky podle přípony souboru.
  • Třetí parametr (nepovinný, výchozí false) — pokud true, přípony jsou odstraněny z vrácených názvů.
  • Pokud složka neexistuje, vrátí prázdnou tabulku.
  • Vrací pouze názvy souborů (ne celé cesty).

📂 Výpis podsložek

local dirs = GetDirs("data")
-- vrátí tabulku názvů podsložek v dané složce
  • Parametr je relativní cesta ke složce.
  • Pokud složka neexistuje, vrátí prázdnou tabulku.
  • Vrací pouze názvy složek (ne celé cesty).

Upozornění: Funkce nemohou pracovat se soubory mimo složku programu (ochrana proti zneužití).