0:00:00.981,0:00:03.298 Tak jsme zpátky s naším programem. 0:00:03.298,0:00:05.575 Ten používá funkci k [br]malování čtyř Winstonů. 0:00:05.575,0:00:07.156 Změnila jsem ho trošku. 0:00:07.156,0:00:09.486 Nyní ukazuje skutečný věk [br]v určitém bodě života. 0:00:09.486,0:00:10.737 Brzy uvidíte proč. 0:00:11.377,0:00:13.549 Nejdříve Vám musím něco[br]říct o Winstonovi. 0:00:13.549,0:00:15.901 Winston má závislost na koblihách. 0:00:15.901,0:00:18.437 Jí je 3x denně. 0:00:18.437,0:00:21.333 Pravděpodobně díky tomu je jeho[br]obličej tak velký a žlutý. 0:00:21.703,0:00:25.311 Jak varovat Winstona,[br]že jsou pro něj koblihy špatné? 0:00:25.311,0:00:27.073 Musíme tento program trochu upravit. 0:00:27.073,0:00:31.755 A to tak, aby ukázal kolik [br]koblih snědl v každém bodě jeho života. 0:00:32.095,0:00:45.873 Například, když mu byly dva roky,[br]což znamená, že jich snědl 3x365x2. 0:00:45.873,0:00:50.330 Zobrazíme si to pod tímto nadpisem. 0:00:50.330,0:00:53.945 Dva tisíce koblih, to je hodně koblih[br]za dva roky. 0:00:53.945,0:01:02.452 Nyní mu je 14 let, podívejme, [br]3 krát 365 krát 14. 0:01:04.032,0:01:08.446 Správně, to je 15 000 koblih. 0:01:08.446,0:01:12.620 Mohli bychom nadále takto počítat,[br]ale všimněte si určitého vzoru. 0:01:13.150,0:01:20.416 Opakuji stále můj výpočet a jedinou věc, [br]kterou měním je počet let. 0:01:20.416,0:01:22.872 Kdykoliv vidím opakující se kód,[br]jako je tento. 0:01:22.872,0:01:28.348 Pomyslím si,[br]"Hm, mohu z toho udělat funkci?" 0:01:28.348,0:01:31.835 Ano určitě můžeme. [br]Tak pojďme na to. 0:01:32.795,0:01:34.416 Definuji zde moji funkci. 0:01:34.416,0:01:40.377 Nazvu ji calcTotalDonuts = function. 0:01:40.917,0:01:44.228 Dáme jí jeden parametr a to[br]počet let. 0:01:44.228,0:01:46.022 Je to totiž jediná věc, jenž[br]měníme. 0:01:46.022,0:01:48.566 A to pokaždé, když děláme tento výpočet. 0:01:49.316,0:01:52.878 Uvnitř provedeme výpočet. 0:01:52.878,0:01:59.600 Tento výpočet uložíme do proměnné,[br]takže to bude 3x 365x numYears. 0:02:00.680,0:02:03.099 Správně, nyní máme funkci. 0:02:03.099,0:02:12.738 Nahradím zde tento výraz [br]výrazem calcTotalDonuts s parametrem 2. 0:02:12.738,0:02:16.877 Dobře, nyní nevidíme žádný celkový počet. 0:02:17.227,0:02:19.092 Co se stalo? 0:02:19.092,0:02:22.616 Naše funkce zde spočítala celkový počet. 0:02:23.096,0:02:25.640 Problém je, že o tom nikomu neřekla. 0:02:26.050,0:02:30.367 Je to jako, když se Vás učitelka[br]na něco zeptá. 0:02:30.367,0:02:31.744 A odpověď je u Vás v hlavě. 0:02:31.744,0:02:33.652 Prostě se stydíte odpovědět. 0:02:33.652,0:02:36.998 Odpověděli jste, ale Vaše učitelka[br]se o tom nikdy nedozví. 0:02:37.499,0:02:45.170 Pokud má funkce něco vracet, tak [br]musí mít definovanou návratovou hodnotu. 0:02:45.710,0:02:51.568 K definování této hodnoty[br]stačí napsat return a to co chceme ukázat. 0:02:51.568,0:02:55.138 Může to být proměnná nebo [br]hodnota nějakého výrazu. 0:02:55.138,0:02:57.749 Pro náš příklad budeme vracet [br]totalDonuts. 0:02:57.749,0:03:01.540 Tedy kdokoliv zavolá tuto funkci,[br]dostane tuto odpověď. 0:03:01.880,0:03:04.421 Nyní se již naše hodnota zobrazuje. 0:03:04.771,0:03:06.651 Můžeme naší funkci zkrátit. 0:03:06.651,0:03:08.341 Nemusíme ji ukládat [br]do proměnné. 0:03:08.341,0:03:10.051 Celý výraz vložíme do return. 0:03:10.051,0:03:14.268 Nyní je to na jednom řádku. 0:03:15.068,0:03:17.166 Dále spočítáme celkový počet[br]koblih. 0:03:17.744,0:03:23.452 Uděláme to pomocí zavolání této[br]funkce s počtem let. 0:03:24.212,0:03:36.366 Podívejte, je to calcTotalDonuts(25), [br]poté calcTotalDonuts(65). 0:03:36.366,0:03:45.136 Tedy pokud by mu bylo 65 let,[br]tak by snědl 70 000 koblih a to je dost. 0:03:45.136,0:03:48.051 Nemyslím si, že by toho byl[br]Winston schopen. 0:03:48.051,0:03:53.181 Nyní je to funkce a[br]je snadné měnit její části. 0:03:53.181,0:03:55.357 Například kdyby to viděl [br]Winston a řekl: 0:03:55.357,0:03:58.865 "Páni, to je až moc.[br]Co kdybych jedl jednu denně?" 0:03:58.865,0:04:02.242 Dobře, stačí změnit pouze jedno číslo. 0:04:02.732,0:04:04.329 Tím se vše změní. 0:04:04.329,0:04:07.561 Výsledek je 23 000. Stále dost. [br]Možná by Winston řekl: 0:04:07.561,0:04:10.773 "Dobře, dobře, tak co kdybych jedl [br]jen jednu týdně?" 0:04:10.773,0:04:12.477 Ano, to je již rozumné. 0:04:12.477,0:04:18.103 Stačí jen změnit 365 na 50,[br]protože rok má 50 týdnů. 0:04:18.103,0:04:22.802 Je to lepší? 3000 koblih se zdá již jako [br]rozumné množství. 0:04:22.802,0:04:30.821 Takže jak vidíte s funkcemi a návratovými[br]hodnotami můžeme zachránit kód a životy.