string.format (formatstring, ···)
最初の引数 (ストリングでなければならない) で指定された記述に従い、可変個の引数をフォーマット設定して返します。フォーマット・ストリングは、
標準 C 関数の printf ファミリーと同じ規則に従います。唯一の違いは、
オプションの修飾子 *、l、L、n、p、および h はサポートされず、追加のオプション q があることです。q オプションは、Lua インタープリターで安全に読み戻せる適切な形式にストリングをフォーマット設定します。そのストリングは二重引用符の間に書かれ、
ストリングの中のすべての二重引用符、改行、埋め込みゼロ、およびバックスラッシュは結果の書き出し時に正しくエスケープされます。例えば、呼び出し
string.format('%q', 'a string with "quotes" and \n new line')は、次のストリングを生成します。
"a string with \"quotes\" and \
new line"オプション c、d、E、e、f、g、G、i、o、u、X、および x は、すべて数値の引数を期待し、q と s はストリングを期待します。
この関数は、q オプションに対する引数として以外、組み込みゼロを含むストリング値は受け入れません。