Módulo:SimpleArgs/Tests/SVals

De Enciclopedia de conocimiento de la Iglesia de Dios
Ir a la navegación Ir a la búsqueda

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