První program
Vítejte v kurzu jazyka Lua! Lua je malý a rychlý programovací jazyk. Vznikl v roce 1993 na univerzitě PUC-Rio v brazilském Riu de Janeiru a jeho autory jsou Roberto Ierusalimschy, Luiz Henrique de Figueiredo a Waldemar Celes. Slovo lua znamená portugalsky „měsíc“.
Jazyk Lua vznikl proto, aby mohl žít uvnitř jiných programů. Velké programy, třeba hry, se obvykle píšou v jiných jazycích a jejich tvůrci do nich jazyk Lua přidají, aby mohli v několika řádcích popsat, jak se věci chovají: co dělá postava, co se stane, když otevřete dveře, nebo co ukáže tlačítko. Protože je jazyk Lua malý a snadno se do programů přidává, najdete ho v mnoha hrách. Hry na Robloxu se programují v jazyce Luau, který vyrostl z jazyka Lua. V jazyce Lua jsou napsané doplňky do hry World of Warcraft, které si hráči píšou sami, a programují se v něm i hry v herních enginech LÖVE a Defold. Mimo hry se s ním setkáte třeba v textovém editoru Neovim nebo v databázi Redis.
V tomto kurzu se naučíte standardní jazyk Lua ve verzi 5.4. Jazyk Luau z Robloxu vyrostl ze starší verze jazyka Lua a přidal si pár vlastních věcí. Většina toho, co se tu naučíte, v něm funguje také, a v poslední lekci kurzu uvidíte, v čem se liší.
Co vás čeká? Naučíte se ukládat hodnoty do proměnných, rozhodovat se pomocí podmínek a opakovat práci pomocí cyklů. Seznamy věcí budete ukládat do tabulek, napíšete si vlastní funkce, tabulky použijete i jako slovníky a budete pracovat s textem. Pak přijdou dvě speciality jazyka Lua: objekty postavené na metatabulkách a korutiny, tedy funkce, které se umějí zastavit a později pokračovat. V závěrečném projektu z toho všeho sestavíte simulaci celé sezóny na farmě.
Na jaké farmě? Na farmě Slunečnice, která patří Emě. Ema pěstuje mrkev, brambory, dýně, jahody a pšenici a chová slepice kvůli vejcím, krávu Bellu kvůli mléku a psa Rexe pro radost. Kupuje semínka, úrodu prodává na trhu za mince a pořád sleduje počasí. Občas se zastaví soused děda Josef nebo obchodník Hugo. Všechny příklady a cvičení v tomto kurzu jsou z její farmy.
Ze všeho nejdřív ale váš úplně první program. Program je řada příkazů, které počítač provádí jeden po druhém, shora dolů. Tenhle má jen jeden příkaz a vypíše pozdrav:
print("Ahoj, Lua!")Vypíše:
Ahoj, Lua!Co znamenají jednotlivé části:
printje funkce: příkaz s názvem, který něco udělá.print(anglicky „vytiskni“) vypíše, co mu dáte, do výstupu, tedy do černého panelu, kde vidíte, co program vypsal (na telefonu na kartě Výstup). Každýprintvypíše jeden řádek.- Do závorek
( )za názvem patří to, s čím má funkce pracovat. Když napíšete název funkce a za něj závorky, voláte funkci. "Ahoj, Lua!"je text. Textu programátoři říkají řetězec (textový řetězec), protože je to řetězec znaků za sebou. Dvojité uvozovky ukazují, kde text začíná a kde končí, a samy se nevypíšou.
Lua rozlišuje velká a malá písmena, takže Print("Ahoj, Lua!") fungovat nebude: žádné Print Lua nezná a program skončí červenou chybovou hláškou pod výstupem. Nelekejte se toho: zkontrolujte řádek, opravte ho a program spusťte znovu. Chybové hlášky se naučíte číst později v této lekci.
Ještě jedna věc: programy na tomto webu umějí jen vypisovat do výstupu. Nemohou číst, co píšete na klávesnici, a proto všechno, s čím pracují, musí být zapsané přímo v programu.
Jak psát:
Pokyny
V editoru je program z ukázky. Klikněte na Spustit pod editorem a podívejte se do výstupu (na telefonu na kartě Výstup). První spuštění může chvíli trvat, než se Lua načte.
Pak změňte text v uvozovkách tak, aby vás program přivítal na Emině farmě:
Vítejte na farmě Slunečnice!Ema má na farmě novou posilu: vás. Pod první print přidejte druhý, který na další řádek vypíše Na farmě pomáhá: a vaše jméno, například:
Vítejte na farmě Slunečnice!
Na farmě pomáhá: JanaCelý text i se jménem dejte do uvozovek.
Začněte programovat zdarma
1/7