Literais
Todos os literais primitivos do Lua podem ser usados. Isso se aplica a números, strings, booleanos e nil.
Diferente do Lua, quebras de linha são permitidas dentro de strings com aspas simples e duplas sem sequência de escape:
some_string = "Aqui está uma string que tem uma quebra de linha."
-- Você pode misturar expressões em literais de string usando a sintaxe #{}.-- Interpolação de string está disponível apenas em strings com aspas duplas.print "Tenho #{math.random! * 100}% de certeza."some_string = "Aqui está uma string que tem uma quebra de linha."
-- Você pode misturar expressões em literais de string usando a sintaxe #{}.-- Interpolação de string está disponível apenas em strings com aspas duplas.print "Tenho #{math.random! * 100}% de certeza."Literais numéricos
Seção intitulada “Literais numéricos”Você pode usar underscores em um literal numérico para aumentar a legibilidade.
integer = 1_000_000hex = 0xEF_BB_BFbinary = 0B10011integer = 1_000_000hex = 0xEF_BB_BFbinary = 0B10011String multilinha estilo YAML
Seção intitulada “String multilinha estilo YAML”O prefixo | introduz um literal de string multilinha no estilo YAML:
str = | key: value list: - item1 - #{expr}str = | key: value list: - item1 - #{expr}Isso permite escrever texto estruturado multilinha convenientemente. Todas as quebras de linha e indentação são preservadas em relação à primeira linha não vazia, e expressões dentro de #{...} são interpoladas automaticamente como tostring(expr).
A string multilinha YAML detecta automaticamente o prefixo comum de espaço em branco à esquerda (indentação mínima em todas as linhas não vazias) e remove-o de todas as linhas. Isso facilita a indentação visual do seu código sem afetar o conteúdo da string resultante.
fn = -> str = | foo: bar: baz return strfn = -> str = | foo: bar: baz return strA indentação interna é preservada em relação ao prefixo comum removido, permitindo estruturas aninhadas limpas.
Todos os caracteres especiais como aspas (") e barras invertidas (\) no bloco YAML Multiline são escapados automaticamente para que a string Lua gerada seja sintaticamente válida e se comporte como esperado.
str = | path: "C:\Program Files\App" note: 'Ele disse: "#{Hello}!"'str = | path: "C:\Program Files\App" note: 'Ele disse: "#{Hello}!"'