Mòdul:SimpleArgs/ús
Aquesta és una subpàgina de documentació per a la Mòdul:SimpleArgs Té la informació d'ús, les categories i qualsevol altre contingut que no forma part essencial del codi del mòdul. |
Ús
[modifica]Utilitzat per altres mòduls per a comprovació de paràmetres passats.
Vegeu també Mòdul:SimpleArgs/i18n, Mòdul:SimpleArgs/i18n/ca, Mòdul:SimpleArgs/i18n/en, Mòdul:SimpleArgs/i18n/es.
Per traduir o revisar la traducció al vostre idioma del mòdul, editeu amb compte Data:I18n/SimpleArgs.tab.
Funcions
[modifica]- Arg(ument)s: arguments o llista de paràmetres del frame actual.
- Par(armeter)Id(entificator): nom/s o l'ordre del paràmetre.
- La marca * indica que és un paràmetre opcional. Si no es vol assignar un valor opcional no correlatiu es pot assignar el valor de nil.
- Exemple: funció_de_número (Args, ParId, LimInf*, LimSup*) -> funció_de_número (args, 1, nil, 12), comprovarà que el número no sigui major de 12.
- Òbviament seria correcte -> funció_de_número (args, 1), sense cap comprovació dels valors del números.
- Str(ing): Cadena.
- Num(ber): Número.
- Int(teger): Enter.
- Pos(itive)Num/Int: Número/enter positiu.
- ZeroOrPosNum/Int: Zero o número/enter positiu.
- Char(acter): Caràcter.
- Tab(ble): Taula.
Principal
[modifica]- GetArgs (frame, HandleError*, SameSize*) - Retorna els arguments i el seu número.
- Si
HandleError == true
->Error.handle = true
- Si
SameSize == true
->Error.samesize = true
- Si
Manipulació dels errors
[modifica]V/F | Nom | Paràmetres o valors |
Descripció |
---|---|---|---|
T | Error |
{ |
Si Si
Si |
F | MsgError | S* |
|
F | GetAndClearError | Retorna Error.msg i assigna com a no error, eliminant el contingut del missatge.
|
Vegeu els exemples
Comprovació dels noms dels paràmetres
[modifica]V/F | Nom | Paràmetres o Valors |
Descripció |
---|---|---|---|
F | CheckParams | args, UsualArgs | Comprovació dels noms dels paràmetres (d'args ) segons la taula de noms permesos per als paràmetres (UsualArgs ). Si un mateix paràmetre té diversos noms, aquests noms es poden agrupar en una taula, com es mostra en exemple més avall (mode senzill). Se genera un error indicant el nom de paraula no trobat.
|
V | HasChild | HasChild | Utilitzat a CheckParamsM
|
F | CheckParamsM | args, UsualArgs, OtherArgs*, ArgNamesIn1 | Realitza la comprovació dels paràmetres com CheckParams però amb taules més complexes.
Retorna dues taules amb els dos tipus d'errors trobats. Una llista amb els noms dels paràmetres no trobats i l'altre amb duplicats. Un paràmetre duplicat és un error rar que es pot produir quan un paràmetre pot tenir més d'una denominació i en la crida des d'una plantilla es fa més d'una crida amb pel mateix paràmetre. |
Taules UsualArgs
[modifica]1. Exemples per CheckParams
i CheckParamsM
o mode senzill:
{"name", "surname"}
Mode senzill amb més d'un nom per paràmetre:
{{"name","Name"}, {"surname","Surname"}}
2. Exemples per CheckParamsM
o mode complex:
Utilitzant ArgNamesIn1 = true
, s'indica que és el primer element o taula el que conté el nom o els noms dels paràmetres:
['birth'] = {{"birth_year",1}, "P569"}, ['death'] = {{"death_year",2}, "P570"}, ['intro'] = {"intro", "Q305178"},
Utilitzant HasChild
:
[SA.HasChild] = true, ['year'] = { ['birth'] = {"birth_year",1}, ['death'] = {"death_year",2}, }, ['other'] = { ['intro'] = "intro", },
Altres
[modifica]- p.ParamsSep = '/' - Variable usada per a la següent funció
- ConcatParams (tab) - S'utilitza quan un paràmetre té més d'un nom per al mateix paràmetre.
Comprovació de números
[modifica]Si el número N no és correcte assigna un missatge d'error.
Nom | Paràmetres |
---|---|
CheckNum | N, ParId, LimInf, LimSup |
CheckNumIsInt | N, ParId, LimInf*, LimSup* |
CheckNumIsPos | N, ParId, LimInf*, LimSup* |
CheckNumIsZeroOrPos | N, ParId, LimSup* |
Comprovació de si les cadenes són números
[modifica]Si la cadena S no és un número correcte, assigna un missatge d'error.
Nom | Paràmetres |
---|---|
CheckSIsNum | S, ParId, LimInf*, LimSup* |
CheckSIsInt | S, ParId, LimInf*, LimSup* |
CheckSIsPosInt | S, ParId, LimInf*, LimSup* |
CheckSIsZeroOrPosInt | S, ParId, LimSup* |
Valors dels paràmetres específics del frame
[modifica]Les funcions amb una R inicial indiquen que el paràmetre és necessari. Retornen el valor del tipus demanat del paràmetre si és correcte, en cas contrari retornen un missatge d'error.
Mireu els exemples de Mòdul:SimpleArgs/Tests/SVals
Cadenes
[modifica]Nom | Paràmetres |
---|---|
Str_Par | Args, ParId, Default* |
RStr_Par | Args, ParId, OKEmpty* |
Char_Par | Args, ParId, Pattern, Default* |
RChar_Par | Args, ParId, Pattern |
NulOrWhitespace_Par | Args, ParId |
StrChkTab_Par | Args, ParId, Tab, CaseSens*, Default* |
RStrChkTab_Par | Args, ParId, Tab, CaseSens* |
StrIdxChkTab_Par | Args, ParId, Tab, CaseSens*, Default* |
RStrIdxChkTab_Par | Args, ParId, Tab, CaseSens* |
Números reals
[modifica]Nom | Paràmetres |
---|---|
Num_Par | Args, ParId, Default*, LimInf*, LimSup* |
RNum_Par | Args, ParId, LimInf*, LimSup* |
PosNum_Par | Args, ParId, Default*, LimInf*, LimSup* |
RPosNum_Par | Args, ParId, LimInf*, LimSup* |
ZeroOrPosNum_Par | Args, ParId, Default*, LimSup* |
RZeroOrPosNum_Par | Args, ParId, LimSup* |
Números enters
[modifica]Nom | Paràmetres |
---|---|
Int_Par | Args, ParId, Default*, LimInf*, LimSup* |
RInt_Par | Args, ParId, LimInf*, LimSup* |
PosInt_Par | Args, ParId, Default*, LimInf*, LimSup* |
RPosInt_Par | Args, ParId, LimInf*, LimSup* |
ZeroOrPosInt_Par | Args, ParId, Default*, LimSup* |
RZeroOrPosInt_Par | Args, ParId, LimSup* |
Mida, html
[modifica]On limits és una taula amb els marges inferior i superior dels 3 tipus de mida possibles: percentatge (perc), em i píxel (px):
Per exemple: {perc={20,100}, em={12,119}, px={200,1900}}
Nom | Paràmetres |
---|---|
Size_Par | Args, ParId, WithPerc, limits*, Default* |
RSize_Par | Args, ParId, WithPerc, limits* |
Colors, html
[modifica]Converteix el nom d'un color (o $NNNNN) a format NNNNNN.
Retorna, amb les següents funcions el color passat com a paràmetre és retornat com a cadena i sols en la part "numèrica" (NNNNNN). Així si el paràmetre és "Green" retorna '008000', i si és '#00800B' retorna '00800B'. Admet els noms de colors HTML.
Nom | Paràmetres |
---|---|
Color_Par | Args, ParId, Default* |
RColor_Par | Args, ParId |
CheckSIsColor (S, ParId, Default)
és utilitzada per les dues funcions anteriors, així
- Per S == 'Green' returns true,'008000'
- Per S == '#008000' returns true,'008000'
Alineació horitzontal
[modifica]On els valors possibles són: left|esquerra|esquerre, center|centre i right|dreta|dret.
Nom | Paràmetres |
---|---|
HAlign_Par | Args, ParId, Default* |
RHAlign_Par | Args, ParId |
Alineació vertical
[modifica]On els valors possibles són: top|dalt, center|centre i bottom|avall.
Nom | Paràmetres |
---|---|
VAlign_Par | Args, ParId, Default* |
RVAlign_Par | Args, ParId |
Booleà
[modifica]On els valors possibles són: sí|s|yes|y|true|veritat|t|1 i no|n|false|fals|f|0
Nom | Paràmetres |
---|---|
Bool_Par | Args, ParId, Default* |
RBool_Par | Args, ParId |
Índex d'una llista
[modifica]Nom | Paràmetres |
---|---|
StrIdxChkTab | Args, ParId, CaseSens, Default, ... |
RStrIdxChkTab | Args, ParId, CaseSens, ... |
StrIdxChkTabE | Args, ParId, CaseSens, Default, ... |
RStrIdxChkTabE | Args, ParId, CaseSens, ... |
Taules de cadenes o números
[modifica]MinItemNum i MaxItemNum, indiquen el mínim i el màxim d'elements inserits en la taula.
Quan algun dels valors no estigui assignat s'actuarà segons OnEmpty: 0: S'inclourà. 1: No s'inclourà. 2. Activarà un error i el seu missatge.
D'un paràmetre
[modifica]Per al mateix paràmetre amb els elements separats per Sep. Exemple, amb "Sep" = ":" i el paràmetre = "12 : 1 : 1,3" retorna {12, 1, 1.3}
Nom | Paràmetres |
---|---|
StrTab_1Par | Args, ParId, Sep, MinItemNum*, MaxItemNum*, OnEmpty* |
NumTab_1Par | Args, ParId, Sep, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
PosNumTab_1Par | Args, ParId, Sep, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
ZeroOrPosNumTab_1Par | Args, ParId, Sep, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
IntTab_1Par | Args, ParId, Sep, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
PosIntTab_1Par | Args, ParId, Sep, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
ZeroOrPosIntTab_1Par | Args, ParId, Sep, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
De varis paràmetres
[modifica]Nota diferencial, per Par(armeter)Id(entificator):
- Si és una posició:
- I és un 1: captarà tots els paràmetres des del primer fins a l'últim que no sigui un número. Així pot contenir paràmetres no numèrics (no posicionals alhora).
{{Funció|a|b|c|opcional=sí}}
-> StrTab_NPar (args, 4, 1} -> {a,b,c}{{Funció|opcional=sí|a|b|c}}
-> StrTab_NPar (args, 4, 1} -> {a,b,c}{{Funció|a|b|c}}
-> StrTab_NPar (args, 3, 1} -> {a,b,c}
- I és un altre número: captarà tots els paràmetres des de la posició fins a l'últim (passat per NArgs).
{{Funció|Paraula|a|b|c}}
-> StrTab_NPar (args, 4, 2} -> {a,b,c}{{Funció|Paraula|a|b|c}}
-> StrTab_NPar (args, 4, 3} -> {b,c}
- I és un 1: captarà tots els paràmetres des del primer fins a l'últim que no sigui un número. Així pot contenir paràmetres no numèrics (no posicionals alhora).
- Si és una cadena, aquesta haurà de contenir un $d que serà substituït per un enter correlatiu (a partir de l'1) fins que no es trobi cap paràmetre. Exemple: 'para $d', buscarà 'para 1', 'para 2', etc.
- Si és una taula, es farà la mateixa cerca que l'anterior punt per cadascun dels valors. Exemple: {'para $d', param $d}, buscarà 'para 1' i 'param 1', després 'para 2' i 'param 2', etc.
Les funcions:
Nom | Paràmetres |
---|---|
StrTab_NPar | Args, NArgs, ParId, MinItemNum*, MaxItemNum*, OnEmpty* |
NumTab_NPar | Args, NArgs, ParId, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
PosNumTab_NPar | Args, NArgs, ParId, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
ZeroOrPosNumTab_NPar | Args, NArgs, ParId, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
IntTab_NPar | Args, NArgs, ParId, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
PosIntTab_NPar | Args, NArgs, ParId, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
ZeroOrPosIntTab_NPar | Args, NArgs, ParId, MinItemNum*, MaxItemNum*, LimInf*, LimSup*, OnEmpty* |
Mireu els exemples de Mòdul:SimpleArgs/Tests/SVals
Altres
[modifica]F/V | Nom | Paràmetres | Explicació |
---|---|---|---|
F | HasValue | v | Returns true if (v ~= nil) and (v ~= '')
|
F | deep_copy_table | orig | Returns a copy of table orig
|
F | tableMerge | t1, t2 | Senzilla fusió de taules, utilitzat a loadI18n .
|
V | wiki_langcode | L'idioma de la Viquipèdia | |
F | get_lang | langcode | Retorna langcode si té un valor, altrament retorna l'idioma de l'usuari si és que aquest no es troba en una pàgina d'article, en aquest cas retorna l'idioma de la Viquipèdia.
|
V | lang_to_use | Conté el valor de get_lang .
| |
F | I18nName | ModName | Retorna el nom del mòdul i18n, en cas de wiki_langcode ~= lang_to_use retorna i18n/lang_to_use si existeix.
|
F | loadI18n | ModName, DefTable | Retorna la taula fusionada i18n amb DefTable .
|
F | TemplateName | frame | Retorna el nom de la plantilla des de la qual és cridada. Així en la Plantilla:LaMeva, escrivint-hi {{#invoke:SimpleArg|TemplateName}} , o invocant des d'una funció (cridada des de la plantilla) d'un mòdul amb TemplateName(frame) retornarien: LaMeva.
|
F | MainTemplateName | frame | Similar a l'anterior, per quan s'utilitza des de plantilles de prova. Així en la Plantilla:LaMeva/prova retornaria igualment: LaMeva |
F | CheckIsStr | v, S | Comprova que v sigui una cadena amb un valor, altrament genera un error. |
F | CheckIsStrOrTab | v, S | Comprova que v sigui una cadena amb un valor o una taula de cadenes amb valor, altrament genera un error. |
F | CheckIsAnyStrOrTab | v, S | Comprova que v sigui una cadena o una taula de cadenes, altrament genera un error. |
Colors
[modifica]ColorToHex (frame)
converteix el nom del color a format hexadecimal.
color_black_contrast (frame)
determina la lluminositat d'un color, amb algunes correccions per a grisos. A utilitzar per al fons d'un text de superposició. Prové en part de Three algorithms for converting color to grayscale. Existeix la funció _color_black_contrast (rgb)
a cridar des d'un altre mòdul.
txtcolor_for_bg (frame)
, permet trobar el color "contrari" a l'introduït per tal d'aconseguir el màxim contrast del text, determinant si ha de ser blanc o negre. Existeix la funció _txtcolor_for_bg (rgb)
a cridar des d'un altre mòdul.
ReverseColor (frame)
, alternatiu a color_black_contrast
permet trobar el color "contrari" a l'introduït per tal d'aconseguir el màxim contrast. Això facilita determinar el color del text per a un fons de color determinat o viceversa. Existeix la funció _ReverseColor (rgb)
a cridar des d'un altre mòdul. Exemple:
{{#invoke:SimpleArgs|ReverseColor|Red}}
retorna Aqua{{#invoke:SimpleArgs|ReverseColor|#000000}}
retorna White
Background color and its name |
ColorToHex |
color_black_contrast |
With text background using prior column values(1) |
txtcolor_for_bg |
(2) |
---|---|---|---|---|---|
255 | -- | ||||
LightCyan | E0FFFF | 242 | LightCyan | LightCyan | |
yellow | FFFF00 | 235 | yellow | yellow | |
Wheat | F5DEB3 | 213 | Wheat | Wheat | |
200 | 0.3 | ||||
aqua | 00FFFF | 184 | aqua | aqua | |
lime | 00FF00 | 163 | lime | lime | |
silver | C0C0C0 | 159 | silver | silver | |
Violet | EE82EE | 143 | Violet | Violet | |
140 | 0.5 | ||||
fuchsia | FF00FF | 92 | fuchsia | fuchsia | |
olive | 808000 | 88 | olive | olive | |
80 | 0.7 | ||||
red | FF0000 | 71 | red | red | |
teal | 008080 | 69 | teal | teal | |
gray | 808080 | 63 | gray | gray | |
green | 008000 | 61 | green | green | |
maroon | 800000 | 27 | maroon | maroon | |
blue | 0000FF | 20 | blue | blue | |
navy | 000080 | 8 | navy | navy |
1: Using <span style="background-color:rgba(255,255,255,opacity)> {{{1|}}} </span>
opacity
= number from 0 to 1, usign the values 0.3, 0.5 and 0.7
2: Using ReverseColor