Módulo:SimpleArgs/Tests/SVals
Ejemplos
Algunas de las funciones más complejas y muestra de errores.
Carácter desde parámetro con comprobación del valor en una cadena
En estos ejemplos Pattern = 'abc'.
Plantilla:Lista desplegable Plantilla:Tlc -> a
Plantilla:Lista desplegable
Plantilla:Tlc -> Error de Lua: Char = No tiene un valor asignado.
Plantilla:Tlc -> Error de Lua: Char = "z" no es ninguno de los caracteres de "abc".
Plantilla:Lista desplegable
Plantilla:Tlc -> Char = "z" no es ninguno de los caracteres de "abc"
Número entero
Plantilla:Lista desplegable Plantilla:Tlc -> 5
Plantilla:Tlc -> Error de Lua: #3 = 5 es menor que 10.
Plantilla:Tlc -> Error de Lua: #3 = 8 es mayor que 6.
Plantilla:Tlc -> Error de Lua: #3 = 5,3 no es un número entero.
Tamaño, html
Plantilla:Lista desplegable) if SA.Error.yes then return SA.MsgError() end return size end </syntaxhighlight>}} Plantilla:Tlc -> 12em
Plantilla:Tlc -> Error de Lua: #1 = 190px no está entre 200px y 1900px.
Plantilla:Tlc -> Error de Lua: #1 = Unidad no válida (me).
Plantilla:Tlc -> Error de Lua: #1 = Se requiere unidad de tamaño (em, px o %).
Alineación
Plantilla:Lista desplegable Plantilla:Tlc -> left
Plantilla:Tlc -> right
Plantilla:Tlc -> Error de Lua: #1 = Alineamiento inválido (arriba). Valores posibles: left/izquierdo/izquierda, right/derecho/derecha, center/centro.
Valor booleano
Plantilla:Lista desplegable Plantilla:Tlc -> true
Plantilla:Tlc -> false
Plantilla:Tlc -> true
Plantilla:Tlc -> Error de Lua: #1 = Booleano inválido (quizás). Valores posibles: sí/si/s/yes/y/true/verdad/t/1, no/n/false/falso/f/0.
Plantilla:Tlc -> Error de Lua: #1 = No tiene un valor asignado.
Palabra o índice en la tabla
Se utiliza una tabla con los valores {'One', 'Two'}.
Plantilla:Lista desplegable Plantilla:Tlc -> One
Plantilla:Lista desplegable
Plantilla:Tlc -> 1
Plantilla:Tlc -> Error de Lua: #1 = "Three" no se ha encontrado en "One, Two".
Índice desde parámetro con comprobación del valor en una tabla
En estos ejemplos los valores válidos son: {'Earth', 'World'}, 'USA'.
Plantilla:Lista desplegable Plantilla:Tlc -> 2, 0
Plantilla:Tlc -> 2, 1
Plantilla:Lista desplegable
Plantilla:Tlc -> Error de Lua: Idx2 = "z" no se ha encontrado en "Earth/World, USA".
Plantilla:Tlc -> 2, 1
Tabla desde parámetro/s
Plantilla:Lista desplegable Plantilla:Tlc -> {one, two, three}
Plantilla:Lista desplegable
Plantilla:Tlc -> Error de Lua: #1 = "zz" no es un número.
Plantilla:Tlc -> {-1.2, 3.3, 14}
Plantilla:Lista desplegable
Plantilla:Tlc -> Error de Lua: #1 = -1 no es cero o un número positivo.
Plantilla:Tlc -> {1, 3.3, 0}
Plantilla:Lista desplegable
Plantilla:Tlc -> Error de Lua: #1 = 3,3 no es un número entero.
Plantilla:Tlc -> {-1, 3, 14}
Plantilla:Lista desplegable
Plantilla:Tlc -> Error de Lua: #1 = -1 no es cero o un número positivo.
Plantilla:Tlc -> {1, 3, 14}
Plantilla:Lista desplegable
Plantilla:Tlc -> {one, two, three}
Plantilla:Lista desplegable
Plantilla:Tlc -> {one, two, three}
Plantilla:Lista desplegable
Plantilla:Tlc -> {one, two, three}
Véase también
local p = {}
local SA = require "Module:SimpleArgs"
function p.Char_Par (frame)
local args, NArgs = SA.GetArgs (frame)
local Char = SA.Char_Par (args, 'Char', 'abc', 'a')
return Char
end
function p.RChar_Par (frame)
local args, NArgs = SA.GetArgs (frame)
local Char = SA.RChar_Par (args, 'Char', 'abc')
return Char
end
function p.RChar_Par_ESS (frame)
local args, NArgs = SA.GetArgs (frame, true, true)
local Char = SA.RChar_Par (args, 'Char', 'abc')
if SA.Error.yes then return SA.MsgError() end
return Char
end
function p.RPosInt_Par (frame)
local args = SA.GetArgs (frame)
local liminf = SA.PosInt_Par (args, 1)
local limsup = SA.PosInt_Par (args, 2)
local num = SA.RPosInt_Par (args, 3, liminf, limsup)
if SA.Error.yes then return SA.MsgError() end
return num
end
function p.RSize_Par (frame)
local args = SA.GetArgs (frame)
local size = SA.RSize_Par (args, 1, true, {perc={20,100}, em={12,119}, px={200,1900}})
if SA.Error.yes then return SA.MsgError() end
return size
end
function p.RHAlign_Par (frame)
local args = SA.GetArgs (frame)
local align = SA.RHAlign_Par (args, 1)
if SA.Error.yes then return SA.MsgError() end
return align
end
function p.RBool_Par (frame)
local args = SA.GetArgs (frame)
local Bool = SA.RBool_Par (args, 1)
if SA.Error.yes then return SA.MsgError() end
return Bool
end
function p.StrChkTab_Par (frame)
local args, NArgs = SA.GetArgs (frame)
local Str = SA.StrChkTab_Par (args, 1, {'One','Two'})
if SA.Error.yes then return SA.MsgError() end
return Str
end
function p.StrIdxChkTab_Par (frame)
local args, NArgs = SA.GetArgs (frame)
local Idx = SA.StrIdxChkTab_Par (args, 1, {'One','Two'})
if SA.Error.yes then return SA.MsgError() end
return Idx
end
function p.RStrIdxChkTab (frame)
local args, NArgs = SA.GetArgs (frame)
local Idx1 = SA.StrIdxChkTab (args, 'Idx1', true, 0, {'Earth', 'World'}, 'USA')
local Idx2 = SA.StrIdxChkTab (args, 'Idx2', false, 0, {'Earth', 'World'}, 'USA')
return Idx1..', '..Idx2
end
function p.RStrIdxChkTabE (frame)
local args, NArgs = SA.GetArgs (frame)
local Idx1 = SA.StrIdxChkTabE (args, 'Idx1', true, 0, {'Earth', 'World'}, 'USA')
local Idx2 = SA.StrIdxChkTabE (args, 'Idx2', false, 0, {'Earth', 'World'}, 'USA')
return Idx1..', '..Idx2
end
function concat_tab(tab)
return '{'..table.concat (tab, ', ')..'}'
end
function p.STab_1Par (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.StrTab_1Par (args, 1, ':', 2)
return concat_tab(tab)
end
function p.NumTab_1Par (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.NumTab_1Par (args, 1, ':', 2)
return concat_tab(tab)
end
function p.ZeroOrPosNumTab_1Par (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.ZeroOrPosNumTab_1Par (args, 1, ':', 2)
return concat_tab(tab)
end
function p.IntTab_1Par (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.IntTab_1Par (args, 1, ':', 2)
return concat_tab(tab)
end
function p.ZeroOrPosIntTab_1Par (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.ZeroOrPosIntTab_1Par (args, 1, ':', 2)
return concat_tab(tab)
end
function p.StrTab_NPos (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.StrTab_NPar (args, NArgs, 1)
return concat_tab(tab)
end
function p.StrTab_N1Id (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.StrTab_NPar (args, NArgs, 'str%d')
return concat_tab(tab)
end
function p.StrTab_N2Id (frame)
local args, NArgs = SA.GetArgs (frame)
local tab = SA.StrTab_NPar (args, NArgs, {'str%d','string%d'})
return concat_tab(tab)
end
return p