argumentos

La documentación para este módulo puede ser creada en Módulo:Argumentos/doc

local z = {}  function z.obtenerArgumentos(frame) if frame.args[1] then  return frame.args end  return frame:getParent().args end  function z.obtenerArgumentosConValor(frame) if frame == mw.getCurrentFrame() then argumentos = frame:getParent().args else argumentos = frame.args or frame end  return require('Módulo:Tablas').copiarElementosConValor(argumentos) end  -- Obtiene os argumentos con valors d\'a plantilla en minúsclas y con as -- tildes sacadas, en caso de que'n tienga de forma que siga más sencillo -- treballar con as distintas variants en os módulos. --  -- Nota: En caso de que i haiga parametros duplicaus dimpués d\'a normalización nomás -- se mantendrá a zaguera valor procesada por a función. -- -- Parametros de dentrada: --    frame: O marco emplegau por o módulo -- -- Parametros de salida: --    argumentosNormalizaus: os argumentos con valor y nombre normalizau --    argumentosDuplicaus: si a plantilla tien quantas vegadas o mesmo  --        argumento dimpués d\'a normalización u no function z.obtenerArgumentosConValorNormalizaus(frame) local argumentos = z.obtenerArgumentosConValor(frame) local argumentosNormalizaus = {} local nombreNormalizau local argumentosDuplicaus = false  for nombre, valor in pairs(argumentos) do  nombreNormalizau = nombre  nombreNormalizau = mw.ustring.lower( nombreNormalizau ) nombreNormalizau = string.gsub(nombreNormalizau, "[á]", "a") nombreNormalizau = string.gsub(nombreNormalizau, "[é]", "e") nombreNormalizau = string.gsub(nombreNormalizau, "[í]", "i") nombreNormalizau = string.gsub(nombreNormalizau, "[ó]", "o") nombreNormalizau = string.gsub(nombreNormalizau, "[úü]", "u")  if argumentosNormalizaus[nombreNormalizau] then argumentosDuplicaus = true end argumentosNormalizaus[nombreNormalizau] = valor end  return argumentosNormalizaus, argumentosDuplicaus end  --[[ @nameobtenerTablaDArgumentos @globalargs @paramframe @returntable @descrObtiene una tabla d'argumentos prenendo os parametros recibius tanto dende a plantilla como dende a invocación d'un módulo. En caso de duplicau tien preferencia a valor d\'a invocación. Por eixemplo: con a plantilla:{{Plantilla |campo=valor |key=clave }} y a invocación:{{#invoke:Módulo |key=value }} s'obtiene:{ ['campo'] = 'valor', ['key'] = 'value' } --]] function z.obtenerTablaDArgumentos(frame) -- global args args = {} local function paramMerge(orig, copy) local data = {} for key, val in pairs(orig) do data[key] = val end for key, val in pairs(copy) do data[key] = val end return data end if frame then -- parentArgs = frame:getParent().args or {} if type(frame.getParent) == 'function' then local parent = frame:getParent() if parent then args = paramMerge(args, parent.args) end end -- invokeArgs = frame.args or frame or {} if type(frame.args) == 'table' then args = paramMerge(args, frame.args) elseif type(frame) == 'table' then args = paramMerge(args, frame) end end return args end  --[[ @nameobtenerValorDArgumentos @globalargs @paramlist @returnstring or nil @descrObtiene o primer argumento valido dende una tabla de parametros. Ista tabla de parametros ye una lista que contiene os nombres d'os argumentos u atras tablas con as funcions pa obtener-los. Parametros: con os argumentos:{ ['campo'] = 'valor', ['key'] = 'value' } y usando a clamada:obtenerValorDArgumentos{'dato', 'campo', 'key'} s'obtiene a valor:'valor' pues 'dato' no ye un argumento y 'campo' en ye o primero trobau Funcions: tamién se puet gritar con una función d\'a forma obtenerValorDArgumentos{'dato', { obtenerDato, '1', '2' }} de forma que si l'argumento 'dato' no existe se grita a la función obtenerDato('1', '2') --]] function z.obtenerValorDArgumentos(list) -- global args local lang = mw.language.getContentLanguage() local err, key if type(list) == 'number' then key = args[list] elseif type(list) == 'string' then key = args[list] or args[lang:ucfirst(list)] elseif type(list) == 'table' then for num, val in ipairs(list) do if type(val) == 'string' then key = z.obtenerValorDArgumentos(val) elseif type(val) == 'function' then err, key = pcall(val) if err ~= true then key = nil end elseif type(val) == 'table' then if val[1] and type(val[1]) == 'function' then err, key = pcall(val[1], unpack(val, 2)) if err ~= true then key = nil end end end if key ~= nil and key ~= '' then return key -- break end end end return key end  return z 

Tags:

🔥 Trending searches on Wiki Aragonés:

BanyadorFloridaItaliaMéntridaCastiello de BuenyaJavaScriptHelicopteroXbox 360MalaisiaPaísPublicidatMoscúTraducciónDolomitaReial Club Deportiu Espanyol2012C++Northrop Grumman B-2 SpiritPalestinsEstralAstronomíaMulato (animal)IndustriaAloveraPeléCatalunyaPuent d'a Reina de ChacaChapónEl CampichueloJimmy WalesLista de municipios d'a provincia de MalagaSierra MolineraRabosaLista de municipios d'a provincia de BadajozEuropaL'Aínsa-SobrarbeReyal Academia EspanyolaWikiLista de municipios d'a provincia de CastellónL'AínsaRicardo I d'AnglaterraChuegos Olimpicos d'hibierno de 2022Michelangelo Buonarroti2 de chineroPalabraDrogadicciónCazacosVisiedoMilimetroPrimera Guerra MundialSierra PalomeramercatotecniaChaime II d'AnglaterraFrent Oriental (Segunda Guerra Mundial)Chulián l'ApostataAntigo EchiptoLatínPoliticaIraqK-popRanueco (anuros)PortugalAnne FrankSinyals de puntuaciónPoiBahreinTurquía🡆 More