Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Ú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 :D). 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 "LuaDevelopmen­tTools.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.

Lua

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.

Lua

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ínkami

Staženo 1547x (1.15 kB)

 

Všechny články v sekci
Lua
Článek pro vás napsal Neaktivní Účet
Avatar
Uživatelské hodnocení:
11 hlasů
Aktivity