Strings multilinha em YAML: | e >, explicados com prévia ao vivo

Strings multilinha em YAML

Strings multilinha em YAML: | vs >, e o chomping - e + | We.Inc

Veja exatamente o que os estilos de bloco | e > do YAML e os indicadores de chomping -, clip e + produzem. Digite seu próprio texto e veja a string resultante se atualizar ao vivo.

O YAML escreve textos longos com block scalars. Uma barra vertical (|) mantém cada quebra de linha exatamente como foi digitada; um sinal de maior que (>) transforma quebras de linha simples em espaços. Depois, um indicador de chomping decide o final: - remove a última quebra de linha, nenhum indicador mantém uma, e + mantém também todas as linhas em branco do final.

Os seis cabeçalhos de block scalar e o que produzem

A linha de cabeçalho depois da chave tem no máximo dois caracteres, mas decide o que o seu programa recebe. Escolha um estilo e um indicador de chomping na prévia, digite um texto, e a string exata aparece abaixo em notação JSON, para que cada quebra de linha fique visível como \n.

Perguntas frequentes

Qual é a diferença entre | e > no YAML?

A barra vertical inicia um bloco literal: cada quebra de linha que você digita fica no valor. O sinal de maior que inicia um bloco folded: uma quebra simples entre duas linhas comuns vira um espaço, enquanto linhas em branco viram quebras de linha.

O que significa o sinal de menos em |-?

É o indicador de chomping strip. A última quebra de linha e quaisquer linhas em branco depois do texto são descartadas, então o valor termina no último caractere visível.

O que o + faz depois de | ou >?

É o indicador keep. A última quebra de linha e todas as linhas em branco do final passam a fazer parte do valor. Sem nenhum indicador, o YAML faz clip: mantém uma quebra de linha final e descarta as linhas em branco.

Por que algumas linhas não são unidas no meu bloco >?

Linhas que começam com indentação extra são linhas mais indentadas. O folding nunca as une, então as quebras ao redor delas são preservadas. Isso permite manter um exemplo de código ou uma lista dentro de um texto folded.

Dá para escrever uma string multilinha sem block scalars?

Sim. Uma string entre aspas duplas pode conter escapes \n, e escalares entre aspas ou simples podem continuar por várias linhas, com cada quebra simples virando um espaço. Block scalars ficam mais fáceis de ler quando o texto fica longo.

Como o folding funciona de verdade

Indicadores de indentação

Block scalars em arquivos reais

Comandos de shell em uma etapa de CI

O estilo literal mantém cada comando na própria linha, que é o que o shell precisa.

Uma descrição longa unida em um parágrafo

Folded e strip: o valor é uma linha de texto sem quebra de linha no final.

Mantendo linhas em branco no final

Com + a linha em branco depois do texto fica no valor, então a string processada termina com duas quebras de linha.

Prévia de block scalar

Digite o texto, escolha um estilo e um indicador de chomping e veja o YAML que você escreveria ao lado da string exata que um parser retorna.

Texto a guardar

Estilo de bloco

Literal |

Folded >

Indicador de chomping

Strip -

Clip (padrão)

Keep +

Linhas em branco depois do bloco

YAML

String resultante (notação JSON)

{n} caracteres, {b} quebras de linha

Obrigado pelo seu pedido. Ele será enviado em até dois dias. Dúvidas? Responda a este e-mail. Ref. do pedido: 10442

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site