Module:TableTools: Difference between revisions
From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
Content added Content deleted
(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) |
Dinoguy1000 (talk | contribs) (from sandbox: another slight code simplification and a couple comment fixes) |
||
Line 129: | Line 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. |
||
return s:gsub('([%(%)%%%.%[%]%*%+%-%?%^%$])', '%%%1') |
|||
return s |
|||
end |
end |
||
Line 415: | Line 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 |
-- 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. |
||
Line 425: | Line 424: | ||
function p.length(t, prefix) |
function p.length(t, prefix) |
||
-- requiring module inline so that [[Module: |
-- 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 |