Mòdul:SimpleArgs/Tests/SVals/ús

De Viquipèdia
Salta a la navegació Salta a la cerca

Exemples[modifica]

Algunes de les funcions més complexes i mostra d'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, NArgs = 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, NArgs = 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, 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

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


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, 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

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


StrIdxChkTab_Par
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

{{#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, 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

{{#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, 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

{{#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, NArgs = 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, NArgs = 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, NArgs = 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, NArgs = 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, NArgs = 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]