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

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 "LuaDevelopmen­tTools.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.

Lua

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.

Lua

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 podmienkami

Stiahnuté 1547x (1.15 kB)

 

Všetky články v sekcii
Lua
Článok pre vás napísal Neaktivní Účet
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity