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:

  • print je 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ý print vypíš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.

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á: Jana

Celý text i se jménem dejte do uvozovek.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

1/7