Spojování textu
Často chcete vypsat na jeden řádek text i číslo, třeba Mince: 120. V Lua se texty spojují dvěma tečkami ... Spojování textů programátoři říkají konkatenace (zřetězení):
print("Farma" .. " " .. "Slunečnice")
print("Mince: " .. 120)Vypíše:
Farma Slunečnice
Mince: 120.. spojí hodnoty přesně tak, jak jsou, a žádné mezery nepřidá. Ty musíte napsat sami, dovnitř uvozovek. Proto je v "Mince: " za dvojtečkou mezera. Bez ní se text a číslo slepí:
print("Mince:" .. 120)Vypíše:
Mince:120Číslo připojené k textu se stane součástí textu. Připojit můžete i výpočet. Lua nejdřív počítá a teprve potom spojuje, takže závorky nepotřebujete:
print("Vejce dnes: " .. 7 + 5)
print("6 mrkví stojí " .. 6 * 5 .. " mincí.")Vypíše:
Vejce dnes: 12
6 mrkví stojí 30 mincí.Kolem .. pište vždy mezery. Vedle čísla jsou dokonce nutné: bez nich Lua přečte 1..2 jako podivné číslo a skončí chybou malformed number near '1..2' (chybně zapsané číslo). S mezerami vypíše print(1 .. 2) text 12: obě čísla spojená do textu.
Mnoho jiných jazyků spojuje texty pomocí +. V Lua ale + jen sčítá čísla, takže print("Mince: " + 120) skončí chybou attempt to add a 'string' with a 'number': Lua neumí sečíst text (řetězec, anglicky string) a číslo.
print umí vypsat i několik hodnot najednou: oddělte je čárkami. Vypíše je na jeden řádek a mezi ně dá tabulátor, širokou mezeru, která hodnoty zarovná do sloupců:
print("Mrkev", 5, "mincí")
print("Dýně", 20, "mincí")Vypíše:
Mrkev 5 mincí
Dýně 20 mincíČárky se hodí, když chcete rychle vidět pár hodnot. Na hezkou větu použijte .., se kterým o každé mezeře rozhodujete sami. A protože čárka odděluje hodnoty, musí mít desetinná čísla tečku: print(2,5) nevypíše dvě a půl, ale dvě čísla, 2 a 5, s tabulátorem mezi nimi.
Jak psát:
Pokyny
Program v editoru vypisuje ceny na Emině stánku na trhu. Spusťte ho: čárky dají mezi každý název a jeho cenu tabulátor. Přepište oba řádky pomocí .. a přidejte slovo mincí, aby program vypsal:
Mrkev: 5 mincí
Dýně: 20 mincíDěda Josef chce koupit 4 dýně. Přidejte řádek, který vypíše, kolik stojí dohromady. Cenu nechte Lua spočítat jako 4 * 20 a výsledek spojte s texty, aby program vypsal:
Mrkev: 5 mincí
Dýně: 20 mincí
4 dýně: 80 mincíDěda Josef si vezme ještě 10 mrkví. Na posledním řádku vypište, kolik zaplatí za všechno. Nechte to Lua spočítat z cen: 4 dýně po 20 mincích a 10 mrkví po 5 mincích. Program pak vypíše:
Mrkev: 5 mincí
Dýně: 20 mincí
4 dýně: 80 mincí
Děda Josef platí: 130 mincíZačněte programovat zdarma
4/7