पटलम्:List
"इस मॉड्यूल हेतु प्रलेख पटलम्:List/doc पर बनाया जा सकता है"
local export = {};
-- Cached function for performance
local _table_insert = table.insert;
local _table_concat = table.concat;
local str = require('Module:String');
local _getBoolean = str._getBoolean;
local function _table_join( t, sep )
local type1 = type( t[1] );
if type1 == 'string' then
local seq = {};
for _, item in ipairs( t ) do
_table_insert( seq, item );
end
return _table_concat( seq, sep );
elseif type1 == 'table' then
local seq = {};
for _, tab in ipairs( t ) do
for _, item in ipairs( tab ) do
_table_insert( seq, item );
end
end
return seq;
else
return nil;
end
end
export._t_join = _table_join;
table.join = _table_join;
--[[
list
]]
local function list( frame )
frame = frame:getParent();
local trim = _getBoolean( frame.args.trim, true );
local all = _getBoolean( frame.args.all, false );
local separator = frame.args.separator or ' <b>·</b> ';
local items = {};
for _, item in ipairs( frame.args ) do
if trim then
item = item:gsub('^%s+', ''):gsub('%s+$', '')
end
if all or item ~= '' then
_table_insert( items, item );
end
end
return _table_join( items, separator ) or ''
end
export.list = list;
return export;