string.format (formatstring, ···)printf family of
standard C functions.
The only differences are that the options/modifiers
*, l, L, n, p,
and h are not supported
and that there is an extra option, q.
The q option formats a string in a form suitable to be safely read
back by the Lua interpreter:
the string is written between double quotes,
and all double quotes, newlines, embedded zeros,
and backslashes in the string
are correctly escaped when written.
For instance, the call
string.format('%q', 'a string with "quotes" and \n new line')
will produce the string:
"a string with \"quotes\" and \
new line"
The options c, d, E, e, f,
g, G, i, o, u, X, and x all
expect a number as argument,
whereas q and s expect a string.
This function does not accept string values containing embedded zeros.