Shrnutí
V této lekci jste se naučili, že:
- Tabulka je v Lua jediný způsob, jak hodnoty seskupit. Tabulka, která drží hodnoty v pořadí, je seznam:
local plodiny = {"mrkev", "brambory"}. Prázdný seznam je{}. - Indexy začínají od 1:
plodiny[1]je první prvek. Index, na kterém žádný prvek není, třebaplodiny[0]nebo index za koncem, dánil, ne chybu. Chyba přijde až později, kdyžnilpoužijete:attempt to concatenate a nil value (field '?'). #plodinyje délka seznamu aplodiny[#plodiny]jeho poslední prvek.plodiny[2] = "rajčata"změní prvek aplodiny[#plodiny + 1] = "kukuřice"přidá prvek na konec. Nenechávejte v seznamu díry (nilmezi prvky):#aipairspak přestanou spolehlivě fungovat.table.insert(t, hodnota)přidá prvek na konec atable.insert(t, pozice, hodnota)ho vloží na pozici a zbytek posune doprava.table.remove(t)odebere poslední prvek,table.remove(t, pozice)prvek na pozici, a obě odebraný prvek vracejí.for i = 1, #plodiny doprojde všechny indexy (ne od 0 a ne do#plodiny + 1).for i, plodina in ipairs(plodiny) dovám v každém průchodu dá index i prvek a_zastoupí hodnotu, kterou nepotřebujete.print(plodiny)vypíše jen adresu tabulky,table: 0x….table.concat(plodiny, ", ")spojí texty a čísla do jednoho textu, s oddělovačem mezi nimi.- Vzory se seznamy: součet (začít na 0 před cyklem, vypsat až za cyklem), průměr (
celkem / #t, vždycky desetinné číslo, zaokrouhlené pomocístring.format("%.1f", …)) a největší nebo nejmenší hodnota (začít prvním prvkem, a když potřebujete vědět, kde je, pamatovat si i jeho index). table.sort(t)řadí čísla od nejmenšího a texty podle kódů znaků: velká písmena před malými a slova začínající na Č, Š, Ž… až za Z. Mění přímo seznam a nic nevrací.
V příští lekci, o funkcích, se naučíte psát vlastní funkce, a s nimi seznam seřadit v jakémkoli pořadí. Nejdřív si ale vyzkoušejte, co už umíte, na Emině sklizni rajčat.
Jak psát:
"Shift + ů
\Alt Gr + q
{Alt Gr + b
}Alt Gr + n
[Alt Gr + f
]Alt Gr + g
<Alt Gr + ,
>Alt Gr + .
#Alt Gr + x
~Alt Gr + +
^Alt Gr + š
%Shift + =
*Alt Gr + -
/Shift + ú
:Shift + .
Pokyny
Uběhly další dva dny. Přidejte na konec seznamu sklizen čísla 8 a 5 a pak vypište celý seznam pomocí table.concat: Sklizeň: 6, 9, 4, 11, 7, 8, 5.
Vypište součet a průměr s jedním desetinným místem: Celkem: 50 kg, průměr: 7.1 kg.
Najděte nejlepší den a vypište jeho číslo (jeho index) a kolik toho Ema ten den natrhala: Nejlepší den: 4 (11 kg).
Nakonec sklizen seřaďte a vypište: Seřazeno: 4, 5, 6, 7, 8, 9, 11.
Začněte programovat zdarma
11/11