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.

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

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

Nebo se registrujte pomocí:

4/7