Multiline string literal

Basic types / Strings

-- [[ ]] keeps line breaks and indent, the first
-- line break after [[ is skipped
local multiline_string = [[
1. First line
2. Second line
    3. Third line
4. Fourth "line"]]
-- multiline_string = 1. First line
-- 2. Second line
--     3. Third line
-- 4. Fourth "line"

-- [==[ ]==] allows ]] inside
local with_brackets = [==[t[t[1]] = 2]==]
-- with_brackets = t[t[1]] = 2

-- Pieces glued with .., the break is \n
local joined = "1. First line\n"
               .. "2. Second line"
-- joined = 1. First line
-- 2. Second line

-- \z skips the following spaces and line breaks
local one_line = "1. First \z
                  line"
-- one_line = 1. First line

-- A backslash before a line break is a line break
local with_break = "1. First\
2. Second"
-- with_break = 1. First
-- 2. Second

print("multiline_string = " .. multiline_string)
print("with_brackets = " .. with_brackets)
print("joined = " .. joined)
print("one_line = " .. one_line)
print("with_break = " .. with_break)