String.format (Lua)
Версия от 21:37, 27 августа 2019; Tatikoma (обсуждение | вклад) (Новая страница: «== Описание == '''string.format''' - возвращает отформатированную строку. == Синтаксис == Привязка к...»)
Содержание
Описание
string.format - возвращает отформатированную строку.
Синтаксис
Привязка к окну: нет. <br>Работа со свернутым окном: да. <br>Параметры заключаются в скобки и разделяются запятыми.
string.format (<nowiki><s>, <arg1></nowiki> [, arg2, ...])
Где: <br>s - строка для форматирования. <br>arg1, arg2 - аргументы для форматирования. <br>Или:
string.format ("%q", <nowiki><s></nowiki>)
Опция q позволяет вернуть строку в формате, безопасно воспринимаемом Lua интерпретатором: строка выводится в двойных кавычках, а все двойные кавычки, перевод строки, символы с кодом 0 и обратный слеш внутри строки перекодируются в escape-последовательность. <br><br>Спецификаторы форматирования:
%a -- Шестнадцатеричное в виде 0xh.hhhhp+d (только С99) %A -- Шестнадцатеричное в виде 0Xh.hhhhP+d (только С99) %c -- Символ по коду %d -- Десятичное целое со знаком %i -- Десятичное целое со знаком %e -- Экспоненциальное представление ('е' на нижнем регистре) %E -- Экспоненциальное представление ('Е' на верхнем регистре) %f -- Десятичное с плавающей точкой %g -- В зависимости от того, какой вывод будет короче, используется %е или %f %G -- В зависимости от того, какой вывод будет короче, используется %Е или %F %o -- Восьмеричное без знака %s -- Строка символов %u -- Десятичное целое без знака %x -- Шестнадцатеричное без знака (буквы на нижнем регистре) %X -- Шестнадцатеричное без знака (буквы на верхнем регистре) %p -- Выводит указатель %n -- Аргумент, соответствующий этому спецификатору, должен быть указателем на целочисленную переменную. Спецификатор позволяет сохранить в этой переменной количество записанных символов (записанных до того места, в котором находится код %n) %% -- Выводит знак %
Примеры
--lua log(string.format("yandex%s", ".ru")) -- подставить .ru вместо %s log(string.format("yandex%s", ".com")) -- подставить .com вместо %s
--lua local str1 = "yandex" log(string.format(str1 .. "%s", ".ru"))
--lua log(string.format("%s%s", "yandex", ".ru")) -- подставить yandex вместо первого %s и .ru вместо второго %s
--lua log(string.format("mail%syandex.ru", "@"))
--lua local a = 126 local b = string.format("%05d", a) -- если число состоит меньше чем из 5 цифр, то оно будет дополнено нулями до пяти цифр log(b)
--lua local d, m, y = 6, 10, 2017 log(string.format("%02d/%02d/%04d", d, m, y)) -- подставить дату, если день или месяц состоят из 1 цифры, то будет добавлен 0. Т. е. вместо 6 будет 06
--lua -- Перевести десятичный цвет в шестнадцатеричный log(string.format("%x", 16690957)) log(string.format("%X", 16690957))
--lua -- округлить число до нужной точности local a = 12.47652853 log(string.format("%.3f", a)) -- до 3 знаков после точки log(string.format("%.5f", a)) -- до 5 знаков после точки
--lua log ("clear") log ("mode compact") local arr = {"Vasya", "Misha", "Kolya"} for i = 1, #arr do log (string.format("%s@yandex.ru", arr[i])) -- подставить вместо %s имя из массива end
--lua local a = <nowiki>C:\Users\abc\Desktop\file123.txt</nowiki> a = string.format("%q", a) -- вернёт строку в двойных кавычках, \ будут заменены на \\ log (a)
Смотрите также
Tonumber (Lua) <br>Tostring (Lua) <br>String.rep (Lua) <br>String.gsub (Lua) <br>String.reverse (Lua)