Lua je programowanska rěč, kotraž nětko přez rozšěrjenje MediaWiki Scribunto k dispoziciji steji. Lua-kod da so do wikipředłohow z pomocu funkcionalnosće "{{#invoke:}}" rozšěrjenja MediaWiki Scribunto zasadźić.
Žórłowy kod Lua składuje so w stronach mjenowanych module (na př. Module:Bananas). Tute jednotliwe module wołaja so potom (přez "{{#invoke:}}") na předłohowych stronach (na př. Module talk:Bananas wužiwa kod {{#invoke:Bananas|witaj}}, zo by tekst "Witaj swět!" wudał).
Module:BananasArgs: Demonstruje, kak maja přistup na parametry a kak so wužiwaja.
Skript požadać
Wopytaj Wikipedia:Lua requests, zo by wo pomoc při pisanju Lua-skripta prosył, kotryž ma specifiski nadawk we Wikipediji abo druhim projekće załožby Wikimedia Foundation wuwjesć.
Wot lět diskutowane, bu Lua w lěće 2012 za testowanje na test2.wikipedia.org instalowany a wšitcy wobdźěłarjo su so přeprosyli, so na eksperimentowanju při wuwiwanju Lua-modulow wobdźělić. Lua je so w jendźelskej Wikipediji we februarje 2013 instalował, po tym zo bě so na mediwiki.org na testowych wikijach testował.
Wo Lua
Lua je skriptowanska rěč, kotraž hodźi so za analyzowanje datow, wuličowanje wurazow a formatowanje wuslědkow z pomocu funkcijow objektorientowaneho programowanja wužiwać. Hačrunjež Lua-skript da so jednory wobchować, za lochke rozumjenje, zmóžnja Lua kompleksne struktury, kotrež bychu informatikarja wužadali, z tabelemi, dynamiskimi funkcijemi a asociatiwnymi datowymi polemi, hdźež hłuboko stajene indeksy móža słowa kaž tež indeksowe čisła być. Lua tež podpěruje rekursiju zakašćikowanych funkcijow abo zmóžnja korutiny za kooperatiwny multitasking, dźiwaj tohodla na to, zo ekscesiwnu kompleksnosć wobeńdźeš, hdźež druzy wužiwarjo njebychu rozumili, kak maja z Lua-modulom wobchadźeć. Slěduje přikład za žórłowy kod z Lua za fakultowu funkciju:
functionfactorial(n)ifn==0thenreturn1--to wróći wuslědk 1, hdyž je so nul přepodałelsereturnn*factorial(n-1)endendforindex=1,5doprint(index,"n! = ",factorial(index))end
Přikład za Lua wuzběhuje so přez značku "<source lang="lua">...</source>", kotraž so wokoło žorłoweho koda zaměstnja. Zo by sej bóle kompleksne přikłady za Lua wobhladał, hlej nastawk: "de:Lua".
Wobłuk za testowanje jednotkow za Lua-skripty na Wikipediji steji na Module:UnitTests k dispoziciji. Zmóžnja ći, twój skript za wěstu sadźbu zapodaćow wuwjesć a přepruwować, hač so wočakowane wudaća produkuja. Testy jednotkow su wosebje wužitne, zo bychu so regresije spěšnje namakali, hdźež změny na skripće nowe problemy wuwołuja.
-- Testy jednotkow za [[:en:Module:Bananas|Module:Bananas]]. Klikń na diskusijnu stronu, zo by testy startował.localp=require('Module:UnitTests')functionp:test_witaj()self:preprocess_equals('{{#invoke:Bananas | witaj}}','Witaj, swět!')endreturnp
Lua-kod w rozšěrjenju Scribunto so jenož wuwjedźe, hdyž strona so analyzuje. Tohodla je wobdźěłowanje strony jeničke wužiwarske zapodaće, kotrež Lua akceptuje - wón njemóže polo wutworić, kotrež kwadratny korjeń wuličuje, kotryž zapodawaš, abo dźěl Mandelbrotoweje sadźby we wotwisnosći wot toho znowa wuličić, na kotry dźěl nadrjadowaneje sadźby kliknješ. Lua-zapodaće móže stronu přenošujomneho teksta na Wikipediji wobsahować. To njezapřijima grafiske dataje (ani .SVG-dataje, hačrunjež su poprawom tekst, chibazo přesunješ je na wikitekstowu stronu), lisćina stronow w kategoriji ani wobsah specialnych stronow.
Wikitekst
Přenjesene Wikipedijowe hłójčki wobsahuja husto schowany kod kaž na př. "UNIQ5ae8f2aa414ff233-h-3--QINU", kotryž dyrbi so ewentuelnje wotstronić, zo bychu so efektiwnje analyzowali.
Wikiwotkazy typa [[Wikipedia:Help|]] njefunguja, jeli so jako wudaće wróćeja - dyrbja so wuraznje jako [[Wikipedia:Help|Help]] pisać.