Configuração em YAML
Carregue e gere YAML.
Configuração em YAML é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ruby Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ruby Academy inclui 4 aulas no total.
O que é YAML?
YAML (YAML não é uma linguagem de marcação) é um formato de dados amigável para pessoas, amplamente usado em configuração. O Ruby o lê por meio da biblioteca yaml, construída sobre Psych.
require 'yaml'
text = "name: Ruby\nyear: 1995"
p YAML.load(text)Carregando YAML
YAML.load analisa uma cadeia YAML em objetos Ruby. Mapeamentos tornam-se Hashes, e sequências tornam-se Arrays.
require 'yaml'
cfg = YAML.load("port: 8081\ndebug: true")
puts(cfg['port'])
puts(cfg['debug'])A indentação define a estrutura
YAML usa indentação (espaços, nunca tabulações) para expressar aninhamento. Cada nível mais profundo tem mais indentação.
require 'yaml'
text = "server:\n host: localhost\n port: 8081"
cfg = YAML.load(text)
puts(cfg['server']['port'])Listas em YAML
Uma sequência é escrita com traços no início. Ela é analisada como uma lista do Ruby.
require 'yaml'
text = "tags:\n - fun\n - oop\n - dynamic"
p YAML.load(text)['tags']Serialização em YAML
YAML.dump (ou to_yaml) serializa objetos do Ruby novamente em texto YAML.
require 'yaml'
data = { 'name' => 'Ruby', 'tags' => ['fun', 'oop'] }
puts(YAML.dump(data))Tipos escalares
YAML infere tipos: números, valores booleanos (true/false) e null são convertidos nos valores correspondentes do Ruby.
require 'yaml'
cfg = YAML.load("count: 3\nactive: false\nnote: null")
puts(cfg['count'].class)
puts(cfg['note'].inspect)Chaves de símbolos
Uma chave escrita com dois-pontos no início se torna um símbolo do Ruby quando é carregada.
require 'yaml'
cfg = YAML.load(":env: production")
p cfgVários documentos
Um único arquivo YAML pode conter vários documentos separados por ---. YAML.load_stream retorna todos eles.
require 'yaml'
text = "a: 1\n---\nb: 2"
docs = YAML.load_stream(text)
puts(docs.length)Como escrever um arquivo de configuração
Persista um mapa de configurações como um arquivo YAML legível.
require 'yaml'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'config.yml')
File.write(path, { 'port' => 8081 }.to_yaml)
puts(File.read(path))Como ler um arquivo de configuração
YAML.load_file lê e analisa um arquivo em uma única chamada, que é a forma mais comum de os aplicativos carregarem configurações.
require 'yaml'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'app.yml')
File.write(path, "name: AppPanel\nport: 8081")
cfg = YAML.load_file(path)
puts(cfg['name'])Carregamento seguro
Carregar YAML não confiável pode ser perigoso. YAML.safe_load restringe o carregamento a tipos básicos por padrão, protegendo contra dados maliciosos.
require 'yaml'
cfg = YAML.safe_load("port: 8081\nname: app")
puts(cfg['port'])Verificação rápida
O que YAML usa para expressar aninhamento e estrutura?
Recapitulação: configuração em YAML
Você pode gerenciar configurações em YAML:
YAML.load/load_filepara lerto_yaml/YAML.dumppara escrever- A indentação define o aninhamento, e os traços formam listas
- Os escalares inferem números, valores booleanos e null
- Prefira
safe_loadpara entradas não confiáveis
require 'yaml'
puts(YAML.load("x: 5")['x'] * 2)Perguntas Frequentes
A aula “Configuração em YAML” é grátis?
Sim — o texto completo de “Configuração em YAML” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ruby Academy, atualize para CoddyKit PRO. O curso de Ruby Academy inclui 4 aulas no total.
O que vou aprender em “Configuração em YAML”?
Carregue e gere YAML. Você pratica Ruby Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Ruby Academy?
Nenhuma experiência prévia é necessária. Ruby Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Configuração em YAML”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Ruby Academy?
Sim. Cada aula de Ruby Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Lendo e escrevendo JSON
- Trabalhando com CSV
- Configuração em YAML
- Escolhendo um formato