string.format (formatstring, ---)

Retorna uma versão formatada de seu número variável de argumentos, seguindo a descrição fornecida em seu primeiro argumento (que deve ser uma cadeia de caracteres).

A string de formato segue as mesmas regras da família ' printf de funções C padrão. As únicas diferenças são que as opções/modificadores ' *, ' l, ' L, ' n, ' p e ' h não são compatíveis e que há uma opção extra, ' q. A opção ' q formata uma cadeia de caracteres em um formato adequado para ser lida com segurança pelo interpretador Lua: a cadeia de caracteres é escrita entre aspas duplas e todas as aspas duplas, novas linhas, zeros incorporados e barras invertidas na cadeia de caracteres são escapadas corretamente quando escritas. Por exemplo, a chamada
string.format('%q', 'a string with "quotes" and \n new line')
produzirá a string:
"a string with \"quotes\" and \
new line"

As opções ' c, ' d, ' E, ' e, ' f, ' g, ' G, ' i, ' o, ' u, ' X e ' x esperam um número como argumento, enquanto ' q e ' s esperam uma cadeia de caracteres.

Essa função não aceita valores de cadeia de caracteres que contenham zeros incorporados, exceto como argumentos para a opção ' q.