Lua
?
programavimo kalba
, naudojama Vikipedijos moduliuose, kurie gali b?ti naudojami
?ablonuose
.
Moduliai yra i?kvie?iami su specialia sintakse {{#invoke:<Modulio pavadinimas>|<Funkcijos pavadinimas>|(neprivalomai) parametras1 | parametras2...}}). Pavyzdys:
Vikitekstas
|
Rezultatas
|
{{#invoke:Example|hello}}
|
Hello World!
|
Visi lietuvi?kojoje Vikipedijoje naudojami moduliai pateikiami ?iame
puslapyje
.
Moduliai viki puslapiuose paleid?iami naudojant #invoke analizatoriaus funkcij?. #invoke sintaks? pana?i ? ?ablono funkcij?, ta?iau skiriasi. Svariausias skirtumas ? reikia nurodyti
funkcijos pavadinim?
. Funkcija ? tai instrukcij? rinkinys, kuris priima pradinius duomenis, apdoroja juos ir gr??ina atsakym?. Pana?iai veikia ir ?ablonas: jis priima parametrus, apdoroja juos ir gr??ina rezultat?. Lua modulyje galima apibr??ti daug funkcij?, o puslapyje sukurti galima tik vien? ?ablon?.
Dar vienas niuansas ? pa?io Lua modulio paleisti negalima, b?tinai reikia nurodyti konkre?ias funkcijas. Modulis ? tai tarsi funkcij? konteineris ir nieko pats savaime nedaro. Taigi yra dvi prie?astys, kod?l reikia nurodyti funkcijos pavadinim?:
- pa?io modulio paleisti negalima;
- be funkcijos pavadinimo Lua ne?ino, kuri? funkcij? norima paleisti.
Papras?iausias b?das viki puslapyje paleisti modul?:
{{#invoke:
modulio pavadinimas
|
funkcijos pavadinimas
}}
Pavyzd?iui, modul?
Module:Example
, kuris turi funkcij? ?hello“ galima paleisti taip:
{{#invoke:Example|hello}}
→ Hello World!
Argumentai ? modulius paduodami tuo pa?iu b?du kaip ? ?ablonus. Skirtumas tas, kad po pirmojo sta?iojo br?k?nio visada pateikiamas funkcijos pavadinimas, o pirmosios pozicijos argumentas ? tekstas po antrojo sta?iojo br?k?nio.
{{#invoke:
modulio pavadinimas
|
funkcijos pavadinimas
|
pirmosios pozicijos argumentas
|
antrosios pozicijos argumentas
|
?vardytas argumentas
=
reik?m?
}}
Modulyje
Module:Example
, funkcija ?hello_to“ pasisveikina su skirtingais ?mon?mis, priklausomai nuo pirmosios pozicijos argumento. Funkcijos paleidimas atrodo taip:
{{#invoke:Example|hello_to|Kate}}
→ Hello, Kate!
{{#invoke:Example|hello_to|Fred}}
→ Hello, Fred!
Tre?ioji
Module:Example
funkcija, pavadinimu ?count_fruit“, naudoja ?vardytus argumentus
bananas
ir
apples
suskai?iuoti, kiek turime banan? ir obuoli?. Funkcijos paleidimas atrodo taip:
{{#invoke:Example|count_fruit|apples=3|bananas=4}}
→ I have 4 bananas and 3 apples
{{#invoke:Example|count_fruit|bananas=5|apples=2}}
→ I have 5 bananas and 2 apples
Moduli? argumentai ir j? poveikis da?nai apra?omas moduli? dokumentacijos puslapiuose.