Module:TableTools: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
add type-checking to removeDuplicates |
only allow two or more arguments for the set functions |
||
Line 92: | Line 92: | ||
function p.union(...) |
function p.union(...) |
||
local lim = select('#', ...) |
local lim = select('#', ...) |
||
if lim |
if lim < 2 then |
||
error( |
error(lim .. ' argument' .. (lim == 1 and '' or 's') .. " passed to 'union' (minimum is 2)", 2) |
||
end |
end |
||
local ret, trackArrays = {}, {} |
local ret, trackArrays = {}, {} |
||
Line 168: | Line 168: | ||
function p.intersection(...) |
function p.intersection(...) |
||
local lim = select('#', ...) |
local lim = select('#', ...) |
||
if lim |
if lim < 2 then |
||
error( |
error(lim .. ' argument' .. (lim == 1 and '' or 's') .. " passed to 'intersection' (minimum is 2)", 2) |
||
end |
end |
||
local ret, track, pairCounts = {}, {}, {} |
local ret, track, pairCounts = {}, {}, {} |
||
Line 254: | Line 254: | ||
function p.complement(...) |
function p.complement(...) |
||
local lim = select('#', ...) |
local lim = select('#', ...) |
||
if lim |
if lim < 2 then |
||
error( |
error(lim .. ' argument' .. (lim == 1 and '' or 's') .. " passed to 'complement' (minimum is 2)", 2) |
||
elseif lim == 1 then |
|||
error("only one argument passed to 'complement' (minimum is two)", 2) |
|||
end |
end |
||
--[[ |
--[[ |