Úvod do jazyka Lua
Vítej u prvního článku ze série tutoriálů pro jazyk Lua. Dneska si ukážeme již známý program "Hello world" v menší úpravě - "Hello devbook", představíme IDE Lua Development Tools neboli upravené Eclipse, informace o programovacích jazycích a jak si vytvořit nový projekt.
O jazyku Lua
Jak už jsem psal, je to asi nejlehčí programovací jazyk pod sluncem (a
snad i nad ním ).
Používá se například na spouštěč veleúspěšné a mnou nenáviděné
hry World of Warcraft nebo u jejích doplňků.
IDE
Jako IDE použijeme už zmíněné Lua Development Tools, pod tímto názvem se skrývá upravené Eclipse. LTD je dostupné jak pro Windows, tak i pro Mac a Linux.
Stažení LDT: http://www.eclipse.org/koneki/ldt/
Instalace u eclipse, jak už je zvykem, neprobíhá. Stačí přetáhnout soubory ze staženého archivu do vytvořené složky. Po "instalaci" si spustíme soubor "LuaDevelopmentTools.exe". Po spuštění si vybereme kde chceme mít pracovní stanici neboli workspace.
Hello world
Tak, a teď k novému projektu. Klikneme na File > New > Lua project. Otevře se nám toto okno. Místo lua-5.1 nastavíme lua-5.2! - budeme se učit v nejnovější verzi. Místo Next můžeme kliknout rovnou na Finish, to co se skrývá pod nextem zatím řešit nemusíme.

Po vytvoření projektu nám Eclipse (omlouvám se, ale pro mě je to prostě Eclipse a tečka) vygeneruje funkci main a nastaví, že po spuštění programu se má spustit funkce main. Ale kde to je nastaveno? Nechápu to!
Lidé, co se učili C# nebo jiný jazyk jemu podobný vědí, že program automaticky spustí určitou třídu (class) automaticky. Lua funkci main nespustí automaticky, a proto je za kódem funkce main ještě
main()
Pomocí
nazevfunkce()
můžeme v jakékoli funkci spustit funkci jinou. Malá ukázka:
local function pozdrav_michala() print("Ahoj Michale, jsi borec!") end local function main() pozdrav_michala() end main()
Tedy nejdříve nadefinujeme funkce main a pozdrav_michala, poté spustíme funkci main. Funkce main spustí funkci pozdrav_michala a funkce pozdrav_michala provede to, co provést má. V případě složitějších kódů, kde se jedna operace opakuje několikrát, je vhodné operaci nadefinovat do funkce a funkci následně spustit. Hodí se to např. v situaci, kdy máte několik ifů a všechny by měly v else definovanou stejnou akci. Místo několika stejných operací máte jednu funkci. Úsporné, že?
Ale má to i své háčky. Funkce musí být definována vždy před funkcí, ve které se má spustit daná funkce. Takto to NEMÁ vypadat:
local function main() pozdrav_michala() end local function pozdrav_michala() print("Ahoj Michale, jsi borec!!") end main()
Pokud to napíšete podle prvního příkladu, vypíše Lua chybu, že pozdrav_michala neexistuje.
local function main() end
Do této funkce budeme zatím psát kód. Kód se píše mezi
local function main()
a
end
Jako první a asi taky nejzákladnější funkce je print. Do kódu ji zapíšeme
print()
Jako např. u C# nebo Basicu do závorek napíšeme buďto "text" nebo název proměnné. Nám bude zatím stačit ten text v uvozovkách.
A jak jsem slíbil, první program bude Hello Devbook! Do funkce main tedy zapíšeme
print("Hello Devbook!")
A máme svůj první program! Ale pozor, jak a kde ho spustit? V nástrojové liště máme tlačítko Play.
Nabídku potvrdíme a v dolním panelu se nám otevře nová záložka "Console". Vypadá nějak takto, a v ní se zobrazí náš program.

Proměnné
Na začátku jsme si napsali program hello devbook. Teď si ho upravíme tak, abychom v něm využili proměnné a více funkcí.
Takže, vytvoříme funkci text
local function text() end
a v ní si vytvoříme proměnnou cz:
cz = ()
s obsahem "Ahoj Devbooku!"
cz = ("Ahoj Devbooku!")
A vytvoříme si proměnnou en s obsahem "Hello Devbook!"
en = ("Hello Devbook!")
A jak proměnné vypíšeme?
print(cz) print(en)
Na konci kódu máme napsáno, že se má spustit funkce main. My chceme spustit funkci text, to znamená, že místo
main()
napíšeme
text()
Smažeme funkci main, nebudeme ji potřebovat.
A už v prvním díle si ukážeme error! Ano, a bude to error, který se nám vypíše s naším vědomím. Tento error nám to vypíše s důvodem "stack overflow". A jak error vyvoláme? Do funkce text připíšeme, že se má spustit funkce text:
text()
Několikrát se nám vypíše Ahoj Devbooku! a Hello Devbook! a pak se dočkáte erroru.
Závěr
To je pro dnešek všechno, doufám, že si z toho někdo něco odnesl Příště si povíme něco o
podmínkách a dalších možnostech vypisování textu.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkamiStaženo 1667x (1.15 kB)