Regel 25: Regel 25:
 
 
 
matches = string.match( str, regpattern )
 
matches = string.match( str, regpattern )
for k, v in matches do
+
for k, v in matches[0] do
 
         padded = p.padright( v, 5, '0' )
 
         padded = p.padright( v, 5, '0' )
 
         str:gsub( v, padded )
 
         str:gsub( v, padded )

Versie van 10 aug 2023 10:01

Module:Pad numbers

Summary
Pad numbers in string. Luafout op regel 27: attempt to index global 'matches' (a nil value)



local p = {}

p.padleft = function( str, len, char )
	if char == nil
		then char = '0'
		end
	char = '0'
	res = string.rep( char, len - #str ) .. str
	return res
end

p.padright = function( str, len, char )
	if char == nil
		then char = '0'
		end
	char = '0'
	res = str .. string.rep( char, len - #str )
	return res
end

function p.main( frame )
	str = mw.text.unstrip(frame.args[1])
	padlength = mw.text.unstrip(frame.args[2])
	regpattern = "!\d+!"
	
	matches = string.match( str, regpattern )
	for k, v in matches[0] do
        padded = p.padright( v, 5, '0' )
        str:gsub( v, padded )
	end
	--
	return str
end

return p