Ajuda: formularis

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
TIPUS DE PÀGINA
Element · Fil ( barra )
Categoria · Portal
Fitxer ( imatge · so )
Pàgina de servei
Plantilla · Pauta
Projecte · Pàgina d'usuari
Mòdul
Tots els espais de noms

Els mòduls són pàgines especials que contenen programes escrits amb el llenguatge de programació Lua , i es poden cridar des d’altres pàgines per realitzar diversos processos al text, tal com es fa amb les funcions d’analitzador . Són útils per crear plantilles quan es requereix una lògica operativa complexa.

Els mòduls pertanyen a l'espai de noms "Mòdul", és a dir, el títol de les pàgines té la forma "Mòdul: Nom". Poden ser creats i modificats per qualsevol persona, però òbviament s’ha de respectar la sintaxi Lua; per a aquest propòsit, el quadre d' edició d'un mòdul està equipat amb coloració de sintaxi .

Història

Els mòduls es van introduir el 13 de març de 2013 amb l'activació [1] [2] de l'extensió Scribunto en tots els projectes de la Fundació Wikimedia.

Lua va ser creat el 1993 per investigadors de la Universitat de Rio de Janeiro [3] i publicat, a partir de la versió 5.0, sota la llicència MIT . [4]

Creeu un formulari

Lua

Icona de la lupa mgx2.svg El mateix tema en detall: Ajuda: Lua .
Una breu mostra de presentació de Brad Jorsch sobre la conversió de plantilles MediaWiki a mòduls Lua.

Lua és un llenguatge de programació dinàmic, o millor dit, un llenguatge de seqüència d’ordres que es pot utilitzar per a l’anàlisi de dades, el càlcul d’expressions i el format de resultats mitjançant funcions o programació orientada a objectes . Lua us permet crear scripts molt senzills i estructures molt complexes, amb taules, funcions dinàmiques i matrius associatius. Admet la recursivitat de funcions i la creació de corrutina .

Els programes de formulari només s'executen quan la pàgina que els crida està "analitzada" (és a dir, quan s'edita o es visualitza una pàgina d'inserció o una pàgina d'inserció), no cada vegada que es visualitza. Per tant, no és possible crear un mòdul Lua que permeti al lector de Viquipèdia, per exemple, introduir la temperatura en Fahrenheit i obtenir el valor en centígrads. Només el col·laborador de Wikipedia pot introduir el valor en Fahrenheit en crear l'entrada i obtenir automàticament el valor en centígrads.

Manual

Com passa amb les plantilles, cal documentar un mòdul perquè la comunitat pugui aprofitar-lo. La implementació interna es pot explicar als experts mitjançant comentaris al codi font, mentre que per a l'ús pur és necessari un manual que pugui entendre fins i tot aquells que no estiguin familiaritzats amb Lua.

Les pàgines del mòdul no poden contenir res més que el codi font Lua ; la documentació ha d'estar necessàriament en una subpàgina anomenada "Mòdul: Nome_modulo / man". Dins de la subpàgina s’ha d’inserir el mòdul Plantilla: Home .

Les recomanacions fetes per als manuals de plantilla generalment s'apliquen, però en el cas d'un mòdul hi ha diverses funcions diferents per documentar.

Creeu un formulari de prova

Com que els mòduls s'han de crear a l'espai de noms homònim, hi ha la pàgina del mòdul: Sandbox per a proves (similar a Wikipedia: Sandbox per a proves d'edició normals). Si voleu crear un formulari de prova, podeu fer-ho en una subpàgina de Form: Sandbox creant una subpàgina amb el vostre nom d’usuari, de manera que només creeu una pàgina com: Form: Sandbox / YourUserName / FormName .

Truqueu un formulari

Exemple de trucada a un mòdul Lua

Cada mòdul pot contenir nombroses funcions , que es poden utilitzar amb el mateix principi que les funcions d'analitzador . Els mòduls s’invocen mitjançant l’ordre {{#invoke:}} .

La sintaxi d’ordres per trucar a una funció continguda en un mòdul Lua és la següent:
{{#invoke: nome_modulo | nome_funzione | parametro1 |...| parametro_n }} .

On és:

  • nome_modulo : nom del mòdul a anomenar (títol de la pàgina sense "Mòdul:")
  • nome_funzione : nom de la funció del mòdul a executar
  • parametro_1 ... parametro_n : qualsevol paràmetre que cal passar a la funció

La sintaxi és, doncs, molt similar a la d’una trucada de funció d’analitzador o plantilla normal, amb l’afegit del nom de la funció que s’ha d’invocar, això es deu al fet que un mòdul Lua pot contenir diverses funcions, de manera que quan s’invoca cal especificar quina funció del mòdul que voleu utilitzar.

Pel que fa a una trucada de plantilla, els paràmetres poden ser posicionals o anomenats, el manual del mòdul hauria d'especificar quins paràmetres accepta cadascuna de les seves funcions.

L'efecte de l'execució és similar al d'una trucada de plantilla: la instrucció d'invocació del mòdul se substitueix pel valor retornat per la funció (mentre que en el cas de la plantilla es substitueix per la inclusió de la pàgina de la plantilla recordada) ).

Finalment, tingueu en compte que, fins i tot si no es passa cap paràmetre a una funció, encara rep una sèrie d'informació sobre la pàgina que la va cridar, inclosos els paràmetres que s'han passat a la pàgina que crida a la funció, i pot utilitzar aquests paràmetres per regular el seu comportament.

Els mòduls es poden convocar en qualsevol lloc, però per convenció es prefereix trucar-los només a les plantilles, per tal de mantenir el codi de les pàgines el més senzill possible i accessible per als menys experimentats. Per exemple, la plantilla: Ciccio cridarà internament al mòdul: Pippo mitjançant l'ordre {{#invoke: Pippo | ...}}, però l'usuari final no ho necessita saber, ja que a les entrades només trucarà { {Ciccio | ...}} (els paràmetres també es passaran automàticament al mòdul).

Substitució

Icona de la lupa mgx2.svg El mateix tema en detall: Ajuda: Subst .

Igual que amb les funcions d'analitzador i les plantilles normals, els mòduls també poden ser subestats .

Per exemple, si escriviu: {{subst:#invoke:HelloWorld|hello}} un cop s'hagi desat la pàgina, "Hello, world!" tant quan consulteu la pàgina (com és normal), com al codi font.

Exemples de trucades

Truca sense paràmetres

Per executar la funció hello del mòdul: HelloWorld, heu d'utilitzar l'ordre {{#invoke:HelloWorld|hello}} . En aquest cas, la funció no pren paràmetres i només resisteix la cadena "Hola, món!" que substituirà la invocació de la funció.

Truca amb un paràmetre

Per calcular la longitud de la cadena "hola", podeu trucar a la funció len del mòdul: String mitjançant l'ordre {{#invoke:String|len|buongiorno}} . La funció retornarà la cadena "10" que substituirà la invocació.

Accés als paràmetres de la plantilla de trucada

Per exemple, per accedir als paràmetres de la plantilla que crida a la funció, consulteu la funció missing_image del mòdul: Tassobox, que es diu amb la plantilla {{ Tassobox }} per determinar quina imatge es mostrarà si no se n'ofereix explícitament. La plantilla {{ Tassobox }} utilitza l’ordre {{#invoke:Tassobox|missing_image}} per trucar a la funció sense passar cap paràmetre, però dins d’ella accedeix als paràmetres amb els quals es va anomenar originalment la plantilla {{ Tassobox }} ( és a dir, els paràmetres "ordre", "classe", "superclasse", "subphylum", etc ... d'aquest últim) per decidir quina imatge utilitzar en funció del seu valor.

Nota

  1. ^ Sumana Harihareswara , New Lua templates aporten pàgines més ràpides i flexibles a la vostra wiki , a blog.wikimedia.org , Wikimedia Tech Blog, 11 de març de 2013. Consultat el 16 de març de 2013 .
  2. ^ Hi ha alguns arguments en aquesta discussió sobre per què es preferia Lua per sobre de JavaScript .
  3. ^ (EN) Roberto Ierusalimschy, Luiz Henrique de Figueiredo i Waldemar Celes, The Evolution of Lua (PDF) a lua.org, 2007, p. 1. Recuperat el 4 de novembre de 2015 .
  4. ^ (EN) License , lua.org el 12 de maig de 2015. Obtingut el 4 de novembre de 2015.

Recursos i documentació

Pàgines relacionades