Lua:
Praca z YAML

Jak?

Lua nie posiada wbudowanego wsparcia dla YAML, ale można pracować z plikami YAML, używając bibliotek firm trzecich, takich jak lyaml. Ta biblioteka umożliwia kodowanie i dekodowanie danych YAML z Lua. Najpierw musisz zainstalować lyaml za pomocą LuaRocks, managera pakietów Lua:

luarocks install lyaml

Dekodowanie YAML:

Załóżmy, że masz następującą zawartość YAML w pliku o nazwie config.yaml:

bazy_danych:
  host: localhost
  port: 3306
  nazwa_użytkownika: użytkownik
  hasło: hasło

Możesz zdekodować ten plik YAML do tablicy Lua za pomocą następującego kodu:

local yaml = require('lyaml')
local plik = io.open("config.yaml", "r")
local zawartość = plik:read("*all")
plik:close()

local dane = yaml.load(zawartość)
for k,v in pairs(dane.bazy_danych) do
  print(k .. ": " .. v)
end

Po uruchomieniu tego skryptu, jego wynik powinien być:

host: localhost
port: 3306
nazwa_użytkownika: użytkownik
hasło: hasło

Kodowanie YAML:

Aby zakodować tablice Lua do formatu YAML, używasz funkcji dump dostarczonej przez lyaml. Rozważając, że chcesz stworzyć reprezentację YAML następującej tablicy Lua:

local dane = {
  strona_internetowa = {
    nazwa = "Przykład",
    właściciel = "Jane Doe",
    metadane = {
      data_utworzenia = "2023-01-01",
      tagi = {"blog", "personalny", "lua"}
    }
  }
}

local yaml = require('lyaml')
local dane_yaml = yaml.dump({dane})
print(dane_yaml)

Wyjście YAML będzie:

- strona_internetowa:
    metadane:
      data_utworzenia: '2023-01-01'
      tagi: [blog, personalny, lua]
    nazwa: Przykład
    właściciel: Jane Doe

Podążając za tymi wzorcami, programiści Lua mogą efektywnie zarządzać danymi YAML dla różnorodnych aplikacji. Te operacje z YAML są kluczowe dla rozwoju wszechstronnych aplikacji Lua, które wchodzą w interakcje z innymi częściami systemu lub bezpośrednio z innymi systemami.