Literals
All of the primitive literals in Lua can be used. This applies to numbers, strings, booleans, and nil.
Unlike Lua, Line breaks are allowed inside of single and double quote strings without an escape sequence:
some_string = "Here is a string that has a line break in it."
-- You can mix expressions into string literals using #{} syntax.-- String interpolation is only available in double quoted strings.print "I am #{math.random! * 100}% sure."some_string = "Here is a string that has a line break in it."
-- You can mix expressions into string literals using #{} syntax.-- String interpolation is only available in double quoted strings.print "I am #{math.random! * 100}% sure."Number Literals
Section titled “Number Literals”You can use underscores in a number literal to increase readability.
integer = 1_000_000hex = 0xEF_BB_BFbinary = 0B10011integer = 1_000_000hex = 0xEF_BB_BFbinary = 0B10011YAML Multiline String
Section titled “YAML Multiline String”The | prefix introduces a YAML-style multiline string literal:
str = | key: value list: - item1 - #{expr}str = | key: value list: - item1 - #{expr}This allows writing structured multiline text conveniently. All line breaks and indentation are preserved relative to the first non-empty line, and expressions inside #{...} are interpolated automatically as tostring(expr).
YAML Multiline String automatically detects the common leading whitespace prefix (minimum indentation across all non-empty lines) and removes it from all lines. This makes it easy to indent your code visually without affecting the resulting string content.
fn = -> str = | foo: bar: baz return strfn = -> str = | foo: bar: baz return strInternal indentation is preserved relative to the removed common prefix, allowing clean nested structures.
All special characters like quotes (") and backslashes (\) in the YAMLMultiline block are automatically escaped so that the generated Lua string is syntactically valid and behaves as expected.
str = | path: "C:\Program Files\App" note: 'He said: "#{Hello}!"'str = | path: "C:\Program Files\App" note: 'He said: "#{Hello}!"'