Параметры Lua string.format - PullRequest
       20

Параметры Lua string.format

14 голосов
/ 28 ноября 2009

Это может показаться глупым вопросом, но какие символы используются для замены строки в string.format? может кто-нибудь указать мне простой пример того, как его использовать?

Ответы [ 3 ]

17 голосов
/ 28 ноября 2009

string.format в Lua использует те же шаблоны, что и Printf в c:

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

Есть некоторые исключения, см. Здесь:

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

6 голосов
/ 08 декабря 2009

Глава 20 PiL описывает string.format ближе к концу:

Функция string.format является мощный инструмент при форматировании строк, как правило, для вывода. Возвращает отформатированная версия его переменной количество аргументов после описание, данное его первым аргумент, так называемая форматная строка. Строка формата имеет правила, аналогичные те из printf функции стандарт C: состоит из регулярных текст и директивы, которые контролируют где и как должен быть каждый аргумент помещается в отформатированную строку.

Справочник по Lua 1013 * говорит:

Строка формата следует так же правила как семейство стандартов printf С функции. Единственные различия что опции / модификаторы *, l, L, n, p и h не поддерживаются и что есть дополнительная опция, q.

Функция реализована с помощью str_format() в strlib.c, которая сама интерпретирует строку формата, но откладывает реализацию библиотеки * C на sprintf(), чтобы фактически отформатировать каждое поле после определения типа значения ожидается (строка или число, по существу), чтобы соответствовать каждому полю.

2 голосов
/ 28 ноября 2009

На жестком диске должен быть html-файл Lua Quick Reference, если вы использовали установочный пакет.
(например: ../Lua/5.1/docs/luarefv51.html)

Там вы найдете, между прочим,

string.format (s [, args ])

  • Директивы форматирования
  • Типы полей форматирования
  • Флажки форматирования
  • Примеры форматирования
...