web-dev-qa-db-ja.com

Luastring.formatオプション

これはばかげた質問のように思えるかもしれませんが、string.formatの文字列置換に使用される記号は何ですか?誰かがそれを使用する方法の簡単な例を私に指摘できますか?

16
RCIX

luaのstring.formatは、cのPrintfと同じパターンに従います。

http://www.cplusplus.com/reference/clibrary/cstdio/printf/

ここを参照してください、いくつかの例外があります:

http://pgl.yoyo.org/luai/i/string.format

20
Robert Harvey

PiLの第20章 終わり近くの_string.format_について説明します:

関数_string.format_は、通常は出力用に文字列をフォーマットする際の強力なツールです。最初の引数で指定された説明、いわゆるフォーマット文字列に続いて、可変数の引数のフォーマットされたバージョンを返します。フォーマット文字列には、標準Cのprintf関数のルールと同様のルールがあります。これは、フォーマットされた文字列のどこにどのように各引数を配置する必要があるかを制御する通常のテキストとディレクティブで構成されます。

Luaリファレンス は言う:

フォーマット文字列は、標準のC関数のprintfファミリと同じルールに従います。唯一の違いは、オプション/修飾子_*_、lLnp、およびhがサポートされていないことと、追加のオプションqがあることです。

関数は str_format() in _strlib.c_ によって実装されます。これ自体がフォーマット文字列を解釈しますが、実際にフォーマットするためにCライブラリのsprintf()の実装に従います。各フィールドに対応すると予想される値のタイプ(基本的に文字列または数値)を決定した後の各フィールド。

6
RBerteig

インストールパッケージを使用した場合は、ハードディスクに「Luaクイックリファレンス」htmlファイルが含まれているはずです。
(例:../ Lua/5.1/docs/luarefv51.html)

そこには、とりわけ、

string.format (s [, args ])

  • 書式設定ディレクティブ
  • フィールドタイプのフォーマット
  • 書式設定フラグ
  • フォーマット例
2