Swift akademie pro začátečníky: cykly a pole #6
Vítám vás u dalšího dílu naší akademie. V minulém díle jsme si představili funkce. Už tedy máte solidní zásobu znalostí, abyste si mohli tvořit vlastní prográmky. Nejlepší cesta jak se v programování zlepšit, je psát si vlastní kód co nejčastěji. Nyní se ale přesuneme k dnešnímu tématu. Tentokrát se budeme se učit cykly.
Cykly: co jsou zač a k čemu slouží?
Jak už název napovídá, cykly používáme když chceme kód opakovat. Možná si říkáte, že kód můžeme opakovat pomocí funkcí. Jak si v této epizodě ukážeme, cykly, oproti funkcím, mají své výhody. Existuje několik druhů cyklů, my si představíme dva nejpoužívanější.
For cyklus
Ve for cyklu si stanovíme přesný počet opakování. Tento cyklus používáme, když chceme postupně projít všechny prvky dané skupiny. Cyklus se vždy spustí pro daný prvek člena skupiny. Každému tomuto „běhu“ našeho cyklu se říká iterace. Cyklus píšeme následující syntaxí:
for položka in skupina
Pokud chceme, aby se kód spustil desetkrát za sebou. Cyklus napíšeme takto:
Uděláme si rozsah čísel od jedné do deseti. Jak můžeme vidět, vždy když nám proběhne jedna iterace, hodnota proměnné i se změní.
Ukážeme si další příklad:
Kdybychom nepoužili cyklus, kód bychom napsali takto:
Jak můžeme vidět, Xcode nám žlutě podtrhne i v námi vytvořeném cyklu. Je to takové doporučení, že pokud v našem cyklu nijak nezmiňujeme naší proměnnou, v tomto případě i. Můžeme ji nahradit podtržítkem:
Do teď jsme si s for cyklem jen tak hráli. Teď si ukážeme jeho plné využití.
Možná koukáte co to na 18. řádce je za syntaxi, kterou zatím neznáme. Je to tzv. pole(array), o tom si ale povíme něco později. V poli můžeme mít několik hodnot, které vždy musíme oddělit čárkou. První položka v našem poli je písmeno A. Námi vytvořený cyklus projede celé naše pole a printnte jednotlivé položky. Výstup by vypadal takto:
While cyklus
While cyklus funguje o trochu jinak, než cyklus for. While cyklus má tuto syntaxi:
while podmínka {
}
Dokud bude podmínka pravdivá, cyklus se bude neustále opakovat. Uděláme si příklad:
Vytvoříme si proměnnou i. Hodnota proměnné je momentálně 1. Uděláme si while cyklus, který vždy před spuštěním zkontroluje, zda je proměnná i menší nebo rovna deseti. Pokud je podmínka pravdivá, kód se spustí.
Pole
Uděláme rychlou odbočku od cyklů a představíme novou věc, která se velmi často používá. Jde o pole, v angličtině Array. Uděláme si pár příkladů:
Vytvořili jsme si pole čísel. Kdybychom chtěli vypsat (print) první položku našeho pole, číslo 1, udělali bychom to následující metodou:
Kdybychom kdykoliv chtěli získat položku z pole, napíšeme název našeho pole a do hranatých závorek index pozice naší položky. Kdybychom chtěli z našeho pole získat číslo 1, v tomto případě musíme napsat index 0, protože pozice polí začínají od 0. Kdybychom chtěli číslo 4, index bude 3 atp.
Představíme si tři metody, kterými pole disponují.
.append() – přidá novou položku
.sort() – seřadí všechny položky abecedně, nebo číselně od nejmenších po největší
.shuffle() – náhodně nám zamíchá položky v našem poli
Ukážeme si je v praxi:
Vytvoříme si novou proměnnou číslo a přidáme ji do našeho pole pomocí metody .append(). Pole zamícháme pomocí .shuffle() a poté seřadíme pomocí .sort(). Výstup by měl vypadat takto:
Shrnutí
- Syntaxe cyklu for je for položka in skupina
- Syntaxe cyklu while je while podmínka
- Položky v poli oddělujeme čárkami
- Pokud napíšeme while true, nás cyklus poběží tak dlouho, dokud ho nezastavíme pomocí slova break
Úspěšně jste prošli šestou epizodou tohoto seriálu. Příští díl bude speciální. Vytvoříte si váš úplně první program. Rád vám na jakékoliv dotazy odpovím v diskuzi.
Všechen kód, který jsme v tomto díle napsali, můžete nalézt na mém GitHubu.