Modul:Join
--[[
Join
Joins all non null arguments together, the first argument is the separator
{{ #invoke:join | join | sep | one | two | three }}
/*
*/
if args[1] == nil then
local pFrame = frame:getParent();
args = pFrame.args;
for k,v in pairs( frame.args ) do
args[k] = v;
end
end
]]
local join = {}
function join.join(frame)
local res='';
local args = {};
for k,v in pairs( frame.args ) do
if v ~= nil and v ~= '' then
table.insert(args,v)
--res = res .. '[' .. k .. ']=' ..v
end
end
local sep = args[1];
res = table.concat( args, sep, 2, j );
return res
end
function join.join2(frame)
local res='';
local args = {};
for k,v in pairs( frame.args ) do
if v ~= nil and v ~= '' then
table.insert(args,v)
--res = res .. '[' .. k .. ']=' ..v
end
end
local sep = args[1];
local sep2 = args[2];
if #args < 3 then
res = ''
elseif #args == 3 then
res = args[3]
elseif #args == 4 then
res = args[3] .. sep2 .. args[4]
else
res = table.concat( args, sep, 3, #args-1 );
res = res .. sep2 .. args[#args];
end
return res
end
function join.concat(frame)
local res='';
for k,v in pairs( frame.args ) do
res = res .. v
end
return res
end
function join.iconcat(frame)
local res='';
for k,v in ipairs( frame.args ) do
res = res .. v
end
return res
end
return join