Позиционирование аргументов внутри string.format()


Очень полезная фича, поскольку Lua не поддерживает нотацию POSIX %s$

local function reformat(fmt, ...)
    local args, order = {...}, {}

    fmt = fmt:gsub('%%(%d+)%$', function(i)
        table.insert(order, args[tonumber(i)])
        return '%'
    end)

    return string.format(fmt, table.unpack(order))
end


https://stackoverflow.com/questions/20318698/is-there-a-way-to-specify-the-argument-positions-in-the-format-string-for-strin