Úvod do jazyka Lua
Vitaj u prvého článku zo série tutoriálov pre jazyk Lua. Dneska si ukážeme už známy program "Hello world" v menšej úprave - "Hello devbook", predstavíme IDE Lua Development Tools čiže upravené Eclipse, informácie o programovacích jazykoch a ako si vytvoriť nový projekt.
O jazyku Lua
Ako som už písal, je to asi najľahší programovací jazyk pod slnkom (a snáď aj nad ním : D ). Používa sa napríklad na spúšťač veľúspešnej a mnou nenávidené hry World of Warcraft alebo u jej doplnkov.
Ide
Ako IDE použijeme už spomínané Lua Development Tools, pod týmto názvom sa skrýva upravené Eclipse. LTD je dostupné ako pre Windows, tak aj pre Mac a Linux.
Stiahnutie LDT: http://www.eclipse.org/koneki/ldt/
Inštalácia u eclipse, ako už je zvykom, neprebieha. Stačí pretiahnuť súbory zo stiahnutého archívu do vytvorenej zložky. Po "inštaláciu" si spustíme súbor "LuaDevelopmentTools.exe". Po spustení si vyberieme kde chceme mať pracovnú stanicu čiže workspace.
Hello world
Tak, a teraz k novému projektu. Klikneme na File> New> Lua project. Otvorí sa nám toto okno. Namiesto lua-5.1 nastavíme lua-5.2! - budeme sa učiť v najnovšej verzii. Namiesto Next môžeme kliknúť rovno na Finish, to čo sa skrýva pod Next zatiaľ riešiť nemusíme.
Po vytvorení projektu nám Eclipse (ospravedlňujem sa, ale pre mňa je to proste Eclipse a bodka) vygeneruje funkciu main a nastaví, že po spustení programu sa má spustiť funkcie main. Ale kde to je nastavené? Nechápem to!
Ľudia, čo sa učili C# alebo iný jazyk jemu podobný vedia, že program automaticky spustí určitú triedu (class) automaticky. Lua funkciu main nespustí automaticky, a preto je za kódom funkcie main ešte
main()
pomocou
nazevfunkce()
môžeme v akejkoľvek funkcii spustiť funkciu inú. Malá ukážka:
local function pozdrav_michala() print("Ahoj Michale, jsi borec!") end local function main() pozdrav_michala() end main()
Teda najskôr zadefinujeme funkcie main a pozdrav_michala, potom spustíme funkciu main. Funkcia main spustí funkciu pozdrav_michala a funkcie pozdrav_michala vykoná to, čo urobiť má. V prípade zložitejších kódov, kde sa jedna operácia opakuje niekoľkokrát, je vhodné operáciu nadefinovať do funkcie a funkciu následne spustiť. Hodí sa to napr. V situácii, keď máte niekoľko IFU a všetky by mali v else definovanú rovnakú akciu. Namiesto niekoľkých rovnakých operácií máte jednu funkciu. Úsporné, že?
Ale má to aj svoje háčiky. Funkcia musí byť definovaná vždy pred funkcií, v ktorej sa má spustiť daná funkcia. Takto to NEMÁ vyzerať:
local function main() pozdrav_michala() end local function pozdrav_michala() print("Ahoj Michale, jsi borec!!") end main()
Ak to napíšete podľa prvého príkladu, vypíše Lua chybu, že pozdrav_michala neexistuje.
local function main() end
Do tejto funkcie budeme zatiaľ písať kód. Kód sa píše medzi
local function main()
a
end
Ako prvý a asi tiež najzákladnejšie funkcie je print. Do kódu ju zapíšeme
print()
Ako napr. U C# alebo Basicu do zátvoriek napíšeme buďto "text" alebo názov premennej. Nám bude zatiaľ stačiť ten text v úvodzovkách.
A ako som sľúbil, prvý program bude Hello Devbook! Do funkcie main teda zapíšeme
print("Hello Devbook!")
A máme svoj prvý program! Ale pozor, ako a kde ho spustiť? V nástrojovej lište máme tlačidlo Play.
Ponuku potvrdíme a v dolnom paneli sa nám otvorí nová záložka "Console". Vyzerá nejako takto, a v nej sa zobrazí náš program.
Premenné
Na začiatku sme si napísali program hello devbook. Teraz si ho upravíme tak, aby sme v ňom využili premenné a viac funkcií.
Takže, vytvoríme funkciu text
local function text() end
a v nej si vytvoríme premennú cz:
cz = ()
s obsahom "Ahoj Devbooku!"
cz = ("Ahoj Devbooku!")
A vytvoríme si premennú en s obsahom "Hello Devbook!"
en = ("Hello Devbook!")
A ako premenné vypíšeme?
print(cz) print(en)
Na konci kódu máme napísané, že sa má spustiť funkcie main. My chceme spustiť funkciu text, to znamená, že miesto
main()
napíšeme
text()
Zmažeme funkciu main, nebudeme ju potrebovať.
A už v prvom diele si ukážeme error! Áno, a bude to error, ktorý sa nám vypíše s naším vedomím. Tento error nám to vypíše s dôvodom "stack overflow". A ako error vyvoláme? Do funkcie text pripíšeme, že sa má spustiť funkcie text:
text()
Niekoľkokrát sa nám vypíše Ahoj Devbooku! a Hello Devbook! a potom sa dočkáte error.
Záver
To je pre dnešok všetko, dúfam, že si z toho niekto niečo odniesol Nabudúce si povieme niečo o podmienkach a ďalších možnostiach vypisovanie textu.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkamiStiahnuté 1627x (1.15 kB)