V minulých dílech jste se mohli dozvědět především o teoretických aspektech programování ve Swiftu. Přestože se dá říct, že jsme se toho dosud moc nedozvěděli, je čas přejít na něco více praktického. V závěru minulého dílu jsem vám sliboval naprogramování vlastní jednoduché kalkulačky, k čemuž se taktéž dnes dostaneme. Než ale začneme, budeme si muset ještě říci něco o takzvaném parsování.
Parsování
Co vlastně klíčové slovo parsování znamená? Jednoduše se dá říct, že se jedná o převod textového řetězce na číslo. V našem seriálu budeme většinou načítat uživatelské vstupy z konzole, přičemž je nutné vědět, že každý uživatelem zadaný vstup se vrací v podobě datového typu String. Pokud tedy chceme po uživateli načíst číslo, musíme si jeho vstup posléze na Int nebo Float převést, neboli daný vstup naparsovat. V galerii níže si můžete prohlédnout popsané obrázky, které zobrazují jak dané parsování funguje a co je u něj potřeba.
Kalkulačka
Kalkulačka bude ve výsledku úplně jednoduchá. Na obrázku níže si můžete všimnout celého kódu, který řeší základní čtyři operace. Koukněte se tedy na kód a následně si vysvětlíme velmi důležitou věc, kterou jsem v závěru využil.
Již z obrázku je jasné, co jaký řádek kódu vlastně dělá. Nejprve si od uživatele načteme potřebná čísla, která program následně automaticky zpracuje. Ve výsledku tedy dostaneme výsledek hned pro všechny čtyři operace, což nemusí být úplně ideální, avšak nám to v současné době bohatě postačí. Co je na obrázku nové je zaobalení výpočtu do (). Toto řešení je striktně vyžadováno, a to z jednoduchého důvodu. Funkce print() požaduje String, ale my se jí snažíme dát číslo. Výsledná praktika se nazývá interpolace řetězců a rozhodně se s ní v budoucnu ještě setkáme.
Chapu ze se nejedna o dev web, ale chtelo by to prvni priblizit uplne zaklady swiftu, jako jsou datove typy, operatory, cykly, vetveni atd. A ne zacinat parsovanim kdyz uzivatel nevi co je Float a co Int. Dale v posledni screenu je u vsech operaci napsano soucet, to take muze hodne lidi zmast :) Jinak misto projektu by bylo vhodne spis demonstrovat na Playgroundech, ktere jsou pro vyuku stvorene.
Datové typy byly jemně nakousnuty v předchozí části a podrobnější popis Swiftu rozhodně ještě přijde. Každopádně děkuji za upozornění, poslední snímek byl upraven.
Já myslim, že to bych vysvětloval až za chvíli. Pokud někdo chce začít, musíš ho nalákat, že něco mu to dělá. Až při první komplikaci mu vysvětlíš o co jde.
Ale v principu máš pravdu, že je to třeba vysvětlit