Editing Module:TableTools
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
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. | ||
s = s:gsub('([%(%)%%%.%[%]%*%+%-%?%^%$])', '%%%1') | |||
return s | |||
end | end | ||
Line 414: | Line 415: | ||
--[[ | --[[ | ||
-- 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 exponental 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 424: | Line 425: | ||
function p.length(t, prefix) | function p.length(t, prefix) | ||
-- requiring module inline so that [[Module: | -- requiring module inline so that [[Module:Exponental 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 |