0Pricing
Ruby Academy · Aula

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 cfg

Vá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_file para ler
  • to_yaml / YAML.dump para escrever
  • A indentação define o aninhamento, e os traços formam listas
  • Os escalares inferem números, valores booleanos e null
  • Prefira safe_load para 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

  1. Lendo e escrevendo JSON
  2. Trabalhando com CSV
  3. Configuração em YAML
  4. Escolhendo um formato
← Voltar para Ruby Academy