Modul:TableTools: Unterschied zwischen den Versionen

K
1 Version von skanwiki:Modul:TableTools importiert
(Finally getting around to merging in Module:Array length (originally written by Mr. Stradivarius) over six months after writing the merged code, also minor code simplify per Dinoguy1000 on talk page)
K (1 Version von skanwiki:Modul:TableTools importiert)
 
(8 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 129: Zeile 129:
local function cleanPattern(s)
local function cleanPattern(s)
-- Cleans a pattern so that the magic characters ()%.[]*+-?^$ are interpreted literally.
-- Cleans a pattern so that the magic characters ()%.[]*+-?^$ are interpreted literally.
s = s:gsub('([%(%)%%%.%[%]%*%+%-%?%^%$])', '%%%1')
return s:gsub('([%(%)%%%.%[%]%*%+%-%?%^%$])', '%%%1')
return s
end
end


Zeile 415: Zeile 414:
--[[
--[[
-- Finds the length of an array, or of a quasi-array with keys such
-- Finds the length of an array, or of a quasi-array with keys such
-- as "data1", "data2", etc., using an exponental search algorithm.  
-- as "data1", "data2", etc., using an exponential search algorithm.  
-- It is similar to the operator #, but may return
-- It is similar to the operator #, but may return
-- a different value when there are gaps in the array portion of the table.
-- a different value when there are gaps in the array portion of the table.
Zeile 425: Zeile 424:


function p.length(t, prefix)
function p.length(t, prefix)
-- requiring module inline so that [[Module:Exponental search]]
-- requiring module inline so that [[Module:Exponential search]]
-- which is only needed by this one function
-- which is only needed by this one function
-- doesn't get millions of transclusions
-- doesn't get millions of transclusions