Mòdul:SimpleArgs/Tests/SVals

Icona de documentació de mòdul Documentació del mòdul [ mostra ] [ modifica el codi ] [ mostra l'historial ] [ refresca ]

Mòdul SimpleArgs/Tests (codi · ús · discussió · proves · tests · casos prova | subpàgines · enllaços)

A continuació es mostra la documentació transclosa de la subpàgina /ús. [salta a la caixa de codi]


Exemples modifica

Algunes de les funcions i mostrant errors.

Caràcter des de paràmetre amb comprovació del valor en una cadena modifica

En aquests exemples Pattern = 'abc'.

Char_Par
function p.Char_Par (frame) 
  local args = SA.GetArgs (frame)
  local Char = SA.Char_Par (args, 'Char', 'abc', 'a')
  return Char
end

{{#invoke: SimpleArgs/Tests/SVals|Char_Par|Char=a}} -> a


RChar_Par
function p.RChar_Par (frame) 
	local args = SA.GetArgs (frame)
	local Char = SA.RChar_Par (args, 'Char', 'abc')
	return Char
end

{{#invoke: SimpleArgs/Tests/SVals|RChar_Par}} -> Error de Lua: Char = No té un valor assignat.

{{#invoke: SimpleArgs/Tests/SVals|RChar_Par|Char=z}} -> Error de Lua: Char = "z" no és cap dels caràcters de "abc".


RChar_Par
function p.RChar_Par_ESS (frame) 
	local args = 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

{{#invoke: SimpleArgs/Tests/SVals|RChar_Par_ESS|Char=z}} -> Error de Lua: Char = "z" no és cap dels caràcters de "abc".


Número enter modifica

RPosInt_Par
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

{{#invoke: SimpleArgs/Tests/SVals|RPosInt_Par|1|6|5}} -> 5

{{#invoke: SimpleArgs/Tests/SVals|RPosInt_Par|10|60|5}} -> Error de Lua: #3 = 5 és menor de 10.

{{#invoke: SimpleArgs/Tests/SVals|RPosInt_Par|1|6|8}} -> Error de Lua: #3 = 8 és major de 6.

{{#invoke: SimpleArgs/Tests/SVals|RPosInt_Par|1|6|5.3}} -> Error de Lua: #3 = 5,3 no és un número enter.


Mida, html modifica

RSize_Par
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

{{#invoke: SimpleArgs/Tests/SVals|RSize_Par|12em}} -> 12em

{{#invoke: SimpleArgs/Tests/SVals|RSize_Par|190px}} -> Error de Lua: #1 = 190px no està entre 200px i 1900px.

{{#invoke: SimpleArgs/Tests/SVals|RSize_Par|12me}} -> Error de Lua: #1 = Unitat no vàlida (me).

{{#invoke: SimpleArgs/Tests/SVals|RSize_Par|50}} -> Error de Lua: #1 = Es requereix la unitat de mida (em, px o %).


Alineació modifica

RHAlign_Par
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

{{#invoke: SimpleArgs/Tests/SVals|RHAlign_Par|esquerra}} -> left

{{#invoke: SimpleArgs/Tests/SVals|RHAlign_Par|dreta}} -> right

{{#invoke: SimpleArgs/Tests/SVals|RHAlign_Par|dalt}} -> Error de Lua: #1 = Alineament invàlid (dalt). Valors possibles: left/esquerra/esquerre, right/dreta/dret, center/centre.


Valor booleà modifica

RBool_Par
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

{{#invoke: SimpleArgs/Tests/SVals|RBool_Par|}} -> true

{{#invoke: SimpleArgs/Tests/SVals|RBool_Par|no}} -> false

{{#invoke: SimpleArgs/Tests/SVals|RBool_Par|yes}} -> true

{{#invoke: SimpleArgs/Tests/SVals|RBool_Par|potser}} -> Error de Lua: #1 = Booleà invàlid (potser). Valors possibles: sí/s/yes/y/true/veritat/t/1, no/n/false/fals/f/0.

{{#invoke: SimpleArgs/Tests/SVals|RBool_Par}} -> Error de Lua: #1 = No té un valor assignat.


Paraula o índex en la taula modifica

S'utilitza una taula amb els valors {'One','Two'}.

StrChkTab_Par
function p.StrChkTab_Par (frame) 
	local args = SA.GetArgs (frame)
	local Str = SA.StrChkTab_Par (args, 1, {'One','Two'})
	if SA.Error.yes then return SA.MsgError() end
	return Str
end

{{#invoke: SimpleArgs/Tests/SVals|StrChkTab_Par|one}} -> One


StrIdxChkTab_Par
function p.StrIdxChkTab_Par (frame) 
	local args = SA.GetArgs (frame)
	local Idx = SA.StrIdxChkTab_Par (args, 1, {'One','Two'})
	if SA.Error.yes then return SA.MsgError() end
	return Idx
end

{{#invoke: SimpleArgs/Tests/SVals|StrIdxChkTab_Par|one}} -> 1

{{#invoke: SimpleArgs/Tests/SVals|StrIdxChkTab_Par|Three}} -> Error de Lua: #1 = "Three" no s'ha trobat en "One, Two".


Índex des de paràmetre amb comprovació del valor en una taula modifica

En aquests exemples els valors vàlids són: {'Earth', 'World'}, 'USA'.

StrIdxChkTab
function p.RStrIdxChkTab (frame)
	local args = 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

{{#invoke: SimpleArgs/Tests/SVals|RStrIdxChkTab|Idx1=USA|Idx2=z}}} -> 2, 0

{{#invoke: SimpleArgs/Tests/SVals|RStrIdxChkTab|Idx1=USA|Idx2=World}} -> 2, 1


StrIdxChkTabE
function p.RStrIdxChkTabE (frame)
	local args = 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

{{#invoke: SimpleArgs/Tests/SVals|RStrIdxChkTabE|Idx1=USA|Idx2=z}} -> Error de Lua: Idx2 = "z" no s'ha trobat en "Earth/World, USA".

{{#invoke: SimpleArgs/Tests/SVals|RStrIdxChkTabE|Idx1=USA|Idx2=World}} -> 2, 1


Taula des de paràmetre/s modifica

StrTab_1Par
function p.STab_1Par (frame)
	local args = SA.GetArgs (frame)
	local tab = SA.StrTab_1Par (args, 1, ':', 2)
	return concat_tab(tab)
end

{{#invoke: SimpleArgs/Tests/SVals|STab_1Par|one:two:three}} -> {one, two, three}


NumTab_1Par
function p.NumTab_1Par (frame)
	local args = SA.GetArgs (frame)
	local tab = SA.NumTab_1Par (args, 1, ':', 2)
	return concat_tab(tab)
end

{{#invoke: SimpleArgs/Tests/SVals|NumTab_1Par|-1:zz:14}} -> Error de Lua: #1 = "zz" no és un número.

{{#invoke: SimpleArgs/Tests/SVals|NumTab_1Par|-1.2:3.3:14}} -> {-1.2, 3.3, 14}


ZeroOrPosNumTab_1Par
function p.ZeroOrPosNumTab_1Par (frame)
	local args = SA.GetArgs (frame)
	local tab = SA.ZeroOrPosNumTab_1Par (args, 1, ':', 2)
	return concat_tab(tab)
end

{{#invoke: SimpleArgs/Tests/SVals|ZeroOrPosNumTab_1Par|-1:3.3:0}} -> Error de Lua: #1 = -1 no és zero o un número positiu.

{{#invoke: SimpleArgs/Tests/SVals|ZeroOrPosNumTab_1Par|1:3.3:0}} -> {1, 3.3, 0}


IntTab_1Par
function p.IntTab_1Par (frame)
	local args = SA.GetArgs (frame)
	local tab = SA.IntTab_1Par (args, 1, ':', 2)
	return concat_tab(tab)
end

{{#invoke: SimpleArgs/Tests/SVals|IntTab_1Par|-1:3.3:14}} -> Error de Lua: #1 = 3,3 no és un número enter.

{{#invoke: SimpleArgs/Tests/SVals|IntTab_1Par|-1:3:14}} -> {-1, 3, 14}


ZeroOrPosIntTab_1Par
function p.ZeroOrPosIntTab_1Par (frame)
	local args = SA.GetArgs (frame)
	local tab = SA.ZeroOrPosIntTab_1Par (args, 1, ':', 2)
	return concat_tab(tab)
end

{{#invoke: SimpleArgs/Tests/SVals|ZeroOrPosIntTab_1Par|-1:3:14}} -> Error de Lua: #1 = -1 no és zero o un número positiu.

{{#invoke: SimpleArgs/Tests/SVals|ZeroOrPosIntTab_1Par|1:3:14}} -> {1, 3, 14}


StrTab_NPar
function p.StrTab_NPos (frame)
	local args, NArgs = SA.GetArgs (frame)
	local tab = SA.StrTab_NPar (args, NArgs, 1)
	return concat_tab(tab)
end

{{#invoke: SimpleArgs/Tests/SVals|StrTab_NPos|one|two|three}} -> {one, two, three}


StrTab_NPar
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

{{#invoke: SimpleArgs/Tests/SVals|StrTab_N1Id|str1=one|str3=three|str2=two|other=4}} -> {one, two, three}


StrTab_NPar
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

{{#invoke: SimpleArgs/Tests/SVals|StrTab_N2Id|str1=one|string3=three|str2=two|other=4}} -> {one, two, three}


Vegeu també modifica

local p = {}

local SA = require "Module:SimpleArgs"

function p.Char_Par (frame) 
	local args = SA.GetArgs (frame)
	local Char = SA.Char_Par (args, 'Char', 'abc', 'a')
	return Char
end

function p.RChar_Par (frame) 
	local args = SA.GetArgs (frame)
	local Char = SA.RChar_Par (args, 'Char', 'abc')
	return Char
end

function p.RChar_Par_ESS (frame) 
	local args = SA.GetArgs (frame)
	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 = 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 = 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 = 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 = 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 = SA.GetArgs (frame)
	local tab = SA.StrTab_1Par (args, 1, ':', 2)
	return concat_tab(tab)
end

function p.NumTab_1Par (frame)
	local args = SA.GetArgs (frame)
	local tab = SA.NumTab_1Par (args, 1, ':', 2)
	return concat_tab(tab)
end

function p.ZeroOrPosNumTab_1Par (frame)
	local args = SA.GetArgs (frame)
	local tab = SA.ZeroOrPosNumTab_1Par (args, 1, ':', 2)
	return concat_tab(tab)
end

function p.IntTab_1Par (frame)
	local args = SA.GetArgs (frame)
	local tab = SA.IntTab_1Par (args, 1, ':', 2)
	return concat_tab(tab)
end

function p.ZeroOrPosIntTab_1Par (frame)
	local args = 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