Regel 1: Regel 1:
 
local p = {}
 
local p = {}
  
local function padleft( str, len, char )
+
p.padleft = function( str, len, char )
 
if char == nil
 
if char == nil
 
then char = '0'
 
then char = '0'
Regel 10: Regel 10:
 
end
 
end
  
local function padright( str, len, char )
+
p.padright = function( str, len, char )
 
if char == nil
 
if char == nil
 
then char = '0'
 
then char = '0'
Regel 26: Regel 26:
 
matches = string.match( str, regpattern )
 
matches = string.match( str, regpattern )
 
for k, v in matches do
 
for k, v in matches do
         padded = padright( v, 5, '0' )
+
         padded = p.padright( v, 5, '0' )
 
         str:gsub( v, padded )
 
         str:gsub( v, padded )
 
end
 
end

Versie van 10 aug 2023 09:59

Module:Pad numbers

Summary
Pad numbers in string. Luafout op regel 27: attempt to call 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 do
        padded = p.padright( v, 5, '0' )
        str:gsub( v, padded )
	end
	--
	return str
end

return p