Ajutor: Formulare

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
TIPURI DE PAGINĂ
Element · Fir ( Bara )
Categorie · Portal
Fișier ( imagine · sunet )
Pagina de servicii
Șablon · Ghid
Proiect · Pagina utilizatorului
Modul
Toate spațiile de nume

Modulele sunt pagini speciale care conțin programe scrise cu limbajul de programare Lua și pot fi apelate din alte pagini pentru a efectua diverse prelucrări pe text, așa cum se face cu funcțiile de analiză . Acestea sunt utile pentru crearea de șabloane atunci când este necesară o logică de operare complexă.

Modulele aparțin spațiului de nume „Module”, adică titlul paginilor are forma „Module: Name”. Ele pot fi create și modificate de oricine, dar, evident, sintaxa Lua trebuie respectată; în acest scop, caseta de editare a unui modul este echipată cu colorarea sintaxei .

Istorie

Modulele au fost introduse pe 13 martie 2013 cu activarea [1] [2] extensiei Scribunto pe toate proiectele Fundației Wikimedia.

Lua a fost creat în 1993 de cercetători de la Universitatea din Rio de Janeiro [3] și publicat, începând cu versiunea 5.0, sub licența MIT . [4]

Creați un formular

Lua

Pictogramă lupă mgx2.svg Același subiect în detaliu: Ajutor: Lua .
Un scurt exemplu de prezentare a lui Brad Jorsch despre conversia șabloanelor MediaWiki în module Lua.

Lua este un limbaj de programare dinamic, sau mai degrabă un limbaj de scriptare care poate fi utilizat pentru analiza datelor, calculul expresiei și formatarea rezultatelor prin funcții sau programare orientată obiect . Lua vă permite să creați atât scripturi foarte simple, cât și structuri foarte complexe, cu tabele, funcții dinamice și tablouri asociative. Suportă recursivitatea funcției și crearea coroutinei .

Programele de formulare rulează numai atunci când pagina care le apelează este „analizată” (adică atunci când aceasta sau o pagină de încorporare este editată sau previzualizată), nu de fiecare dată când este vizualizată. Prin urmare, nu este posibil să creați un modul Lua care să permită cititorului Wikipedia, de exemplu, să introducă temperatura în Fahrenheit și să obțină valoarea în Celsius. Numai colaboratorul Wikipedia poate introduce valoarea în Fahrenheit atunci când creează intrarea și poate obține automat valoarea în Celsius.

Manual

La fel ca în cazul șabloanelor, un modul trebuie documentat, astfel încât comunitatea să poată profita de acesta. Implementarea internă poate fi explicată experților prin comentarii în codul sursă, în timp ce pentru utilizarea pură este necesar un manual care poate fi înțeles chiar și de cei care nu sunt familiarizați cu Lua.

Paginile modulului nu pot conține altceva decât codul sursă Lua ; documentația trebuie să fie neapărat într-o subpagină numită „Module: Nome_modulo / man”. În interiorul sub-paginii trebuie introdus modulul Șablon: Om .

Recomandările făcute pentru manualele șablon se aplică în general, dar în cazul unui modul există mai multe funcții diferite de documentat.

Creați un formular de testare

Deoarece modulele trebuie create în spațiul de nume omonim, există pagina Module: Sandbox pentru teste (similar cu Wikipedia: Sandbox pentru teste de editare normale). Dacă doriți să creați un formular de testare, îl puteți face într-o subpagină a Formularului: Sandbox creând o subpagină cu numele dvs. de utilizator, deci creați o pagină precum: Formular: Sandbox / YourUserName / FormName .

Apelați un formular

Exemplu de apelare a unui modul Lua

Fiecare modul poate conține numeroase funcții , care pot fi utilizate pe același principiu ca și funcțiile parser . Modulele sunt invocate prin comanda {{#invoke:}} .

Sintaxa comenzii pentru apelarea unei funcții conținute într-un modul Lua este după cum urmează:
{{#invoke: nome_modulo | nome_funzione | parametro1 |...| parametro_n }} .

Unde este:

  • nome_modulo : numele modulului de apelat (titlul paginii fără „Modul:”)
  • nome_funzione : numele funcției modulului de executat
  • parametro_1 ... parametro_n : orice parametru pentru a trece la funcție

Sintaxa este deci foarte asemănătoare cu cea a unui apel parser normal sau funcție șablon, cu adăugarea numelui funcției care trebuie invocată, deoarece un modul Lua poate conține mai multe funcții, așa că atunci când este invocat trebuie să specificați care funcția modulului pe care doriți să îl utilizați.

În ceea ce privește un apel șablon, parametrii pot fi poziționali sau numiți, manualul modulului trebuie să specifice ce parametri acceptă fiecare dintre funcțiile sale.

Efectul execuției este similar cu cel al unui apel șablon: instrucțiunea de invocare a modulului este înlocuită cu valoarea returnată de funcție (în timp ce în cazul șablonului este înlocuită cu includerea paginii șablonului reamintit ).

În cele din urmă, rețineți că, chiar dacă nu sunt trecuți parametri către o funcție, aceasta primește totuși o serie de informații despre pagina care a numit-o, inclusiv parametrii care au fost trecuți către pagina care apelează funcția și poate folosi acești parametri pentru a regla comportamentul său.

Modulele pot fi apelate oriunde, dar, prin convenție, este preferabil să le apelați numai în șabloane, pentru a păstra codul paginilor cât mai simplu posibil și accesibil celor mai puțin experimentați. De exemplu, șablonul: Ciccio va apela intern modulul: Pippo folosind comanda {{#invoke: Pippo | ...}}, dar utilizatorul final nu trebuie să știe acest lucru, deoarece în intrări va apela doar { {Ciccio | ...}} (parametrii vor fi transferați automat și modulului)

Substing

Pictogramă lupă mgx2.svg Același subiect în detaliu: Ajutor: Subst .

La fel ca în cazul funcțiilor de analiză și al șabloanelor normale, modulele pot fi, de asemenea, substate .

De exemplu, dacă tastați: {{subst:#invoke:HelloWorld|hello}} odată ce pagina a fost salvată, „Hello, world!” atât atunci când consultați pagina (așa cum este normal), cât și în codul sursă.

Exemple de apeluri

Apelați fără parametri

Pentru a executa funcția hello a modulului: HelloWorld, trebuie să utilizați comanda {{#invoke:HelloWorld|hello}} . În acest caz, funcția nu ia parametri și rezistă doar șirului „Bună ziua, lume!” care va înlocui invocarea funcției.

Apelați cu un parametru

Pentru a calcula lungimea șirului „hello” puteți apela funcția len a Modulo: String folosind comanda {{#invoke:String|len|buongiorno}} . Funcția va returna șirul „10” care va înlocui invocația.

Acces la parametrii șablonului de apelare

De exemplu , accesul la parametrii șablonului care apelează funcția, a se vedea missing_image funcția modulului: Tassobox care este numit de {{ Tassobox }} șablon pentru a determina care imagine pentru afișare în cazul în care nu este prevăzut în mod explicit. Șablonul {{ Tassobox }} folosește comanda {{#invoke:Tassobox|missing_image}} pentru a apela funcția fără a trece niciun parametru, dar în cadrul său funcția accesează parametrii cu care s-a apelat inițial șablonul {{ Tassobox }} ( adică parametrii „ordine”, „clasă”, „superclasă”, „subfil”, etc ... din acesta din urmă) pentru a decide ce imagine să folosească în funcție de valoarea lor.

Notă

  1. ^ Sumana Harihareswara , New Lua templates aduce pagini mai rapide și mai flexibile pe wiki , la blog.wikimedia.org , Wikimedia Tech Blog, 11 martie 2013. Adus 16 martie 2013 .
  2. ^ Există câteva argumente în această discuție cu privire la motivul pentru care Lua a fost preferat în locul JavaScript .
  3. ^ (EN) Roberto Ierusalimschy, Luiz Henrique de Figueiredo și Waldemar Celes, The Evolution of Lua (PDF) pe lua.org, 2007, p. 1. Accesat la 4 noiembrie 2015 .
  4. ^ (EN) Licență , lua.org pe 12 mai 2015. Adus pe 4 noiembrie 2015.

Resurse și documentație

Pagini conexe