Returns a formatted version of its variable number of arguments following
the description given in its first argument (which must be a string). The
format string follows the same rules as the ISO C function sprintf. The
only differences are that the options/modifiers *, h, L, l, n, and p are
not supported and that there is an extra option, q.
The q option formats a string between double quotes, using escape sequences
when necessary to ensure that it can safely be read back by the Lua
interpreter. For instance, the call
string.format('%q', 'a string with "quotes" and \n new line')
may produce the string:
"a string with \"quotes\" and \ new line" Options A, a, E, e, f, G, and g all expect a number as
argument. Options c, d, i, o, u, X, and x expect an integer. When Lua is
compiled with a C89 compiler, options A and a (hexadecimal floats) do not
support any modifier (flags, width, length).
Option s expects a string; if its argument is not a string, it is converted
to one following the same rules of tostring. If the option has any modifier
(flags, width, length), the string argument should not contain embedded
zeros.
Returns a formatted version of its variable number of arguments following the description given in its first argument (which must be a string). The format string follows the same rules as the ISO C function sprintf. The only differences are that the options/modifiers *, h, L, l, n, and p are not supported and that there is an extra option, q.
The q option formats a string between double quotes, using escape sequences when necessary to ensure that it can safely be read back by the Lua interpreter. For instance, the call
string.format('%q', 'a string with "quotes" and \n new line')
may produce the string:
"a string with \"quotes\" and \ new line"
Options A, a, E, e, f, G, and g all expect a number as argument. Options c, d, i, o, u, X, and x expect an integer. When Lua is compiled with a C89 compiler, options A and a (hexadecimal floats) do not support any modifier (flags, width, length).Option s expects a string; if its argument is not a string, it is converted to one following the same rules of tostring. If the option has any modifier (flags, width, length), the string argument should not contain embedded zeros.