Опции Lua string.format

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


person RCIX    schedule 28.11.2009    source источник


Ответы (3)


string.format в Lua следует тем же шаблонам, что и Printf в c:

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

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

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

person Robert Harvey    schedule 28.11.2009

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

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

В справочнике по Lua говорится:

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

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

person RBerteig    schedule 07.12.2009

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

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

string.format (s [, args ])

  • Директивы форматирования
  • Типы полей форматирования
  • Флаги форматирования
  • Примеры форматирования
person Nick Dandoulakis    schedule 28.11.2009