Strings need to be within quotes, but what happens when you need to put quotes inside the string? Lua doesn't care if a string uses single or double quotes, so long as the symbol at the start and end of the string matches, so technically this code would be valid:
message = 'he said "bye" and left'
print (message)
However, this is not desirable. As a convention, only double quotes will be used to represent a string throughout this book. To include a double quote within a string, the character must be escaped. Escaping a character means the character will be treated as part of the string, rather than a Lua instruction. To escape a character, place a in front of it, like so:
message = "he said "bye" and left"
print (message)
There are actually several escape characters that can be used when working with strings. The most often used escape characters are:
- : Newline, moves the cursor down one line
- : Horizontal tab, tabs over on the current line
- \: Backslash, you have to escape the escape symbol
- ": Double quote, needed to include a quote in a string
The full list of supported escape symbols for Lua can be found online at https://www.lua.org/pil/2.4.html.