Modifications

Sauter à la navigation Sauter à la recherche

Module:List

1 201 octets ajoutés, 18 novembre 2019 à 14:08
Page créée avec « local export = {}; -- Cached function for performance local _table_insert = table.insert; local _table_concat = table.concat; local str = require('Module:String'); local... »
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 '&nbsp;<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;

Menu de navigation