Lua:
Trabalhando com YAML
Como fazer:
Lua não possui suporte embutido para YAML, mas você pode trabalhar com arquivos YAML usando bibliotecas de terceiros, como lyaml
. Esta biblioteca permite a codificação e decodificação de dados YAML com Lua. Primeiro, você precisará instalar o lyaml
via LuaRocks, o gerenciador de pacotes do Lua:
luarocks install lyaml
Decodificando YAML:
Suponha que você tenha o seguinte conteúdo YAML em um arquivo chamado config.yaml
:
database:
host: localhost
port: 3306
username: usuário
password: senha
Você pode decodificar este arquivo YAML em uma tabela Lua com o seguinte código:
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 você executar este script, ele deverá produzir a saída:
host: localhost
port: 3306
username: usuário
password: senha
Codificando YAML:
Para codificar tabelas Lua no formato YAML, você utiliza a função dump
fornecida pela lyaml
. Considerando que você queira criar uma representação YAML da seguinte tabela Lua:
local data = {
website = {
name = "Exemplo",
owner = "Jane Doe",
metadata = {
creation_date = "2023-01-01",
tags = {"blog", "pessoal", "lua"}
}
}
}
local yaml = require('lyaml')
local yaml_data = yaml.dump({data})
print(yaml_data)
O YAML resultante será:
- website:
metadata:
creation_date: '2023-01-01'
tags: [blog, pessoal, lua]
name: Exemplo
owner: Jane Doe
Seguindo esses padrões, programadores Lua podem gerenciar efetivamente dados YAML para uma variedade de aplicações. Essas operações com YAML são cruciais para o desenvolvimento de aplicações Lua versáteis que interagem suavemente com outras partes de um sistema ou diretamente com outros sistemas.