|
You can probably hack up something to rearrange parameters, but a muchOn Sat, Jan 5, 2013 at 11:07 AM, Marc Balmer <marc@msys.ch> wrote:
> Is it possible to change the order of parameters in a function taking varargs? Maybe using the select(n, ...) function?
>
> This is what I want to do:
>
> function foo(fmt, ...)
> -- switch element 1 and 2 of {...}
>
> print(string.format('%d %s', ...))
> end
>
>
> foo('%s %d', 42, 'balmer')
>
> (background is doing i18n in Lua, whith messages (= format strings) that can have the order of parameters changed)
>
>
better idea for i18n is string.gsub:
function foo(fmt, ...)
local values = {...}
print(('$2 $1'):gsub('%$(%d+)', values))
end
That doesn't handle format strings, but you could easily extend it to
a syntax like $(1.6f 3) to mean the third key formatted with %1.6f.
--
Sent from my Game Boy.