Module:TableTools: Difference between revisions
Content added Content deleted
m (42 revisions imported: Fixing templates) |
(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) |
||
Line 30:
--]]
function p.isPositiveInteger(v)
return true▼
else▼
end▼
end
Line 48 ⟶ 44:
--]]
function p.isNan(v)
end▼
end
Line 422 ⟶ 414:
--[[
--
-- as "data1", "data2", etc., using an exponental search algorithm.
--
-- a different value when there are gaps in the array portion of the table.
-- Intended to be used on data loaded with mw.loadData. For other tables, use #.
Line 430 ⟶ 423:
-- frame.args.
--]]
function p.length(t)▼
local i = 1▼
i = i + 1▼
▲function p.length(t, prefix)
-- requiring module inline so that [[Module:Exponental search]]
-- which is only needed by this one function
-- doesn't get millions of transclusions
local expSearch = require("Module:Exponential search")
checkType('length', 1, t, 'table')
checkType('length', 2, prefix, 'string', true)
return expSearch(function(i)
if prefix then
key = prefix .. tostring(i)
end) or 0
function p.inArray(arr, valueToFind)
checkType("inArray", 1, arr, "table")
|