106 640
contributi
(getabbr ritorna base come sigla per la forma base *** sovrascritto il testo esistente ***) |
|||
-- Funzioni di libreria per la gestione delle forme alternative
local f = {}
local tab = require('Modulo:Wikilib/tables')
local alt =
-- Usa come modulo dati per le forme alternative UselessForms/data
f.loadUseless = function()
alt =
end
extform = string.lower(extform or '')
name = tonumber(name) or name:lower()
return alt[name].ext[extform] or 'base'
end
return name:match('(%u+%a*)$') or 'base'
end
extform = string.lower(extform or '')
name = tonumber(name) or name:lower()
return name, alt[name].ext[extform] or 'base'
end
poke, abbr = name:match("^([%lé%-♂♀%s%.&#;%d]+)(%u*%a*)$")
return tonumber(poke) or poke or '', abbr or 'base'
end
f.getlink = function(poke, black, extform)
black = black and 'black' or ''
-- È stato fornito il terzo parametro, si cerca nella
-- table ext. Il '' a default in abbr serve per assicurare
-- l'indicizzazione nell'istruzione successiva
if alt[tonumber(poke) or poke:lower()] then
extform = string.lower(extform or '')
return alt[poke][black .. 'links'][abbr] or ''
end
-- Senza terzo parametro, bisogna estrarre nome del Pokémon e
-- sigla della forma alternativa dal nome, per poi usarli come
-- indici del modulo AltForms/data
local name, form = poke:match("^([%lé%-♂♀%s%.&#;%d]+)(%u*%a*)$")
if form == '' then
return alt[name][black .. 'links'][form] or ''
end
f.getLink, f.get_link = f.getlink, f.getlink
|