Texty
Textům se v programech říká řetězce (anglicky strings): jsou to znaky navlečené za sebou jako korálky na šňůrce. Už víte, že je píšete do dvojitých uvozovek "…" nebo do jednoduchých '…'. Text můžete uložit do proměnné jako každou jinou hodnotu a texty spojujete pomocí ..:
local farma = "Slunečnice"
local plodina = "dýně"
local napis = plodina .. " z farmy " .. farma
print(napis)
print(farma .. plodina)Vypíše:
dýně z farmy Slunečnice
Slunečnicedýně.. žádné mezery nepřidá. Napište je do textů sami, jako v " z farmy ". A + texty nespojuje: "farma" + "Slunečnice" skončí chybou attempt to add a 'string' with a 'string', protože + umí jen sčítat čísla.
Text ve dvojitých uvozovkách končí u dalších dvojitých uvozovek. Když potřebujete uvozovky uvnitř textu, máte dvě možnosti: dejte text do jiného druhu uvozovek, nebo před uvozovku napište zpětné lomítko \:
print('Ema říká: "Vítejte!"')
print("Ema říká: \"Vítejte!\"")
print("Pes se jmenuje 'Rex'")Vypíše:
Ema říká: "Vítejte!"
Ema říká: "Vítejte!"
Pes se jmenuje 'Rex'Bez zpětného lomítka text skončí příliš brzy:
print("Ema říká: "Ahoj!"")Lua ohlásí:
main.lua:1: ')' expected near 'Ahoj'Text skončil za Ema říká: a Lua pak našla slovo Ahoj tam, kde čekala uzavírací závorku.
Zpětné lomítko se znakem za ním tvoří escape sekvenci: dva znaky v kódu, které v textu znamenají jeden zvláštní znak:
\nje nový řádek,\tje tabulátor,\"a\'jsou uvozovky,\\je jedno zpětné lomítko.
print("Mrkev\nBrambory\tDýně")Vypíše:
Mrkev
Brambory DýněDélku textu zjistíte pomocí # před ním:
local pes = "pes Rex"
print(#pes)
print(#"Rex")
print(#"")Vypíše:
7
3
0Počítá se i mezera a "" je prázdný text, bez jediného znaku. Přesněji řečeno # počítá bajty, malé jednotky, ve kterých počítač text ukládá. Písmeno bez diakritiky, číslice, mezera nebo interpunkce zabírá jeden bajt, ale písmeno s háčkem nebo čárkou zabírá dva, takže #"dýně" je 6, přestože má slovo jen 4 písmena. Jak takové texty počítat správně, se naučíte v lekci o řetězcích.
Jak psát:
Pokyny
Pod to vytvořte proměnnou napis, která spojí slovo Čerstvé, proměnnou plodina, slova z farmy a proměnnou farma, s mezerami mezi nimi. Pak ji vypište:
Čerstvé jahody z farmy SlunečnicePod to vypište Emino pozvání na dva řádky. Použijte jeden print s \n pro nový řádek a Emina slova nechte v uvozovkách:
Čerstvé jahody z farmy Slunečnice
Ema říká:
"Ochutnejte!"Nakonec vypište délku nápisu. Číslo získejte z proměnné napis pomocí #. Všimněte si, že písmen a mezer je v nápisu jen 33: Č, é a č zabírají po dvou bajtech.
Čerstvé jahody z farmy Slunečnice
Ema říká:
"Ochutnejte!"
Nápis má 36 bajtů.Začněte programovat zdarma
5/10