fix double-consume, add %!

I discovered your tostring function for debugging, might as well make it reachable from fmt.  I also realized I forgot to convert to using "p" when I introduced it so I fixed that
This commit is contained in:
Kistaro Windrider 2023-01-01 12:42:37 -08:00
parent e0ebb035e1
commit 2ce259304d
Signed by: kistaro
SSH Key Fingerprint: SHA256:TBE2ynfmJqsAf0CP6gsflA0q5X5wD5fVKWPsZ7eVUg8

View File

@ -41,6 +41,8 @@ end
-- fake sprintf function
-- %~ for literal "%"
-- %v for param
-- %! for tostring(param)
-- which dumps tables
function fmt(f, ...)
local out, i = "", 1
for s in all(split(f,"%")) do
@ -51,9 +53,11 @@ function fmt(f, ...)
local p = select(i,...)
i+=1
if m == "v" then
out ..= select(i,...)
out ..= p
elseif m == "!" then
out ..= tostring(p)
else
out ..= "(?!:"..m..":"..tostr(p)..")"
out ..= "(?!:"..m..":"..tostring(p)..")"
end
end
out ..=sub(s,2)