5.5 Test - Funkcie - základy (5.1 - 5.4)

Over si svoje vedomosti z kapitol o funkciách. Klikni na Áno alebo Nie - tlačidlo sa hneď zafarbí (zelená = správne, červená = nesprávne) a zobrazí sa komentár s vysvetlením. Otázky prechádzaš po jednej pomocou tlačidiel nižšie.

Otázka 1 / 12

Funkciu definujeme kľúčovým slovom fun, za ktorým nasleduje jej názov.

Áno. Napríklad fun compute(a: Int, b: Int): Int { ... }.

Argumenty funkcie sú v Kotline predvolene var, preto sa dajú v tele funkcie meniť.

Nie. Argumenty funkcie sú vždy val - preto pri nich slovíčko val ani nepíšeme.

Funkcia bez explicitne uvedeného návratového typu vracia typ Unit.

Áno. Zápis fun x() {} je skrátený zápis pre fun x(): Unit {}.

Hodnotu z funkcie vraciame kľúčovým slovom return.

Áno. Za return nasleduje hodnota, ktorú chceme z funkcie vrátiť.

Ak sa telo funkcie skladá z jediného výrazu, nie je potrebné písať return ani zložené zátvorky.

Áno. Napríklad fun compute(a: Int, b: Int) = a * b je platný jednoriadkový zápis.

Pri jednoriadkovom zápise funkcie (fun x() = ...) musíme vždy explicitne uviesť jej návratový typ.

Nie. Návratový typ je zjavný z výrazu, takže ho netreba písať - hoci pri zložitejších funkciách je to dobrým zvykom.

Argumenty s predvolenými hodnotami obvykle umiestňujeme na koniec zoznamu parametrov funkcie.

Áno. Hoci to nie je nevyhnutné, obľubujeme dávať parametre s predvolenou hodnotou na koniec.

Ak má parameter predvolenú hodnotu, pri volaní funkcie ho musíme vždy explicitne vyplniť.

Nie. Práve naopak - ak ho nevyplníme, použije sa jeho predvolená hodnota.

Named arguments (pomenované argumenty) umožňujú vymenovať iba tie parametre, ktoré chceme nastaviť.

Áno. Ostatné parametre zostanú nedotknuté (použijú svoju predvolenú hodnotu).

Pri použití named arguments musí byť poradie parametrov vo volaní rovnaké ako v definícii funkcie.

Nie. Práve výhodou named arguments je, že poradie parametrov vo volaní môže byť ľubovoľné.

Named arguments sa oplatí použiť aj vtedy, keď z volania funkcie nie je jasné, čo daný argument reprezentuje (napr. substring(3, 5)).

Áno. Zápis "Hello World".substring(startIndex = 3, endIndex = 6) je oveľa čitateľnejší.

Ak chceme nastaviť len jeden z posledných predvolených parametrov bez named arguments, musíme vymenovať aj všetky predvolené parametre pred ním.

Áno. Práve preto sa v takom prípade radšej používajú named arguments namiesto vymenovania všetkých predchádzajúcich parametrov.

Tvoje skóre je 0 / 12