Lua:
Lavorare con YAML

Come fare:

Lua non ha un supporto integrato per YAML, ma puoi lavorare con file YAML utilizzando librerie di terze parti come lyaml. Questa libreria permette la codifica e decodifica di dati YAML con Lua. Prima di tutto, dovrai installare lyaml tramite LuaRocks, il gestore di pacchetti di Lua:

luarocks install lyaml

Decodifica YAML:

Supponiamo che tu abbia il seguente contenuto YAML in un file chiamato config.yaml:

database:
  host: localhost
  port: 3306
  username: user
  password: pass

Puoi decodificare questo file YAML in una tabella Lua con il seguente codice:

local yaml = require('lyaml')
local file = io.open("config.yaml", "r")
local content = file:read("*all")
file:close()

local data = yaml.load(content)
for k,v in pairs(data.database) do
  print(k .. ": " .. v)
end

Quando esegui questo script, dovrebbe produrre:

host: localhost
port: 3306
username: user
password: pass

Codifica YAML:

Per codificare tabelle Lua in formato YAML, utilizzi la funzione dump fornita da lyaml. Considerando che vuoi creare una rappresentazione YAML della seguente tabella Lua:

local data = {
  website = {
    name = "Example",
    owner = "Jane Doe",
    metadata = {
      creation_date = "2023-01-01",
      tags = {"blog", "personal", "lua"}
    }
  }
}

local yaml = require('lyaml')
local yaml_data = yaml.dump({data})
print(yaml_data)

L’output YAML sarà:

- website:
    metadata:
      creation_date: '2023-01-01'
      tags: [blog, personal, lua]
    name: Example
    owner: Jane Doe

Seguendo questi schemi, i programmatori Lua possono gestire efficacemente i dati YAML per una varietà di applicazioni. Queste operazioni con YAML sono fondamentali per sviluppare applicazioni Lua versatili che interagiscono senza problemi con altre parti di un sistema o direttamente con altri sistemi.