Модуль:Инвентарный слот/Псевдонимы/Таблица — различия между версиями
Материал из Hilarious Wiki
MailGik (обсуждение | вклад) |
MailGik (обсуждение | вклад) |
||
Строка 8: | Строка 8: | ||
-- Skip the banner aliases (except "Любой флаг"), as there are so | -- Skip the banner aliases (except "Любой флаг"), as there are so | ||
-- many of them it causes the table to be excessively long | -- many of them it causes the table to be excessively long | ||
− | if i == 'Любой флаг' or not i:find( 'Флаг с ' ) or not i:find( 'Базовый флаг' ) then | + | if i == 'Любой флаг' or not i:find( 'Флаг с ' ) or (not i:find( 'Базовый флаг' )) then |
table.insert( keys, i ) | table.insert( keys, i ) | ||
end | end |
Версия 14:03, 7 августа 2016
Для документации этого модуля может быть создана страница Модуль:Инвентарный слот/Псевдонимы/Таблица/док
local p = {}
p.table = function()
local slot = require( [[Модуль: Инвентарный слот]] ).slot
local aliases = mw.loadData( [[Модуль: Инвентарный слот/Псевдонимы]] )
local keys = {}
for i in pairs( aliases ) do
-- Skip the banner aliases (except "Любой флаг"), as there are so
-- many of them it causes the table to be excessively long
if i == 'Любой флаг' or not i:find( 'Флаг с ' ) or (not i:find( 'Базовый флаг' )) then
table.insert( keys, i )
end
end
table.sort( keys )
local tableRows = {
' {| class="wikitable collapsible collapsed"',
'! Alias !! class="collapse-button" | Output'
}
for _, key in ipairs( keys ) do
local alias = aliases[key]
local displayCell = {}
for name in mw.text.gsplit( alias, '%s*;%s*' ) do
-- Aliases are disabled in output for acuracy
-- (as sub-aliases aren't meant to work) and performance
table.insert( displayCell, slot{ name, noalias = true } )
end
table.insert( tableRows, '|<code>' .. key .. '</code>||' .. table.concat( displayCell ) )
end
table.insert( tableRows, '|}' )
return table.concat( tableRows, '\n|-\n' )
end
return p