Sobes.tech
Junior — Middle

Môžete vysvetliť, čo sa rozumie pod Auto Closure v kontexte programovania?

sobes.tech AI

Odpoveď od AI

Auto Closure je mechanizmus v Swift, ktorý automaticky obaluje výraz do uzávierky (closure). To znamená, že namiesto explicitného odovzdania uzávierky môžete odovzdať výraz, ktorý bude vyhodnotený až pri volaní uzávierky.

Výhody:

  • Odložené vyhodnotenie: výraz sa nevyhodnocuje okamžite, ale iba keď je to potrebné.
  • Pohodlná syntax: kód je čistejší a jednoduchší.

Príklad:

func logIfTrue(_ predicate: @autoclosure () -> Bool) {
    if predicate() {
        print("Podmienka je pravdivá")
    }
}

logIfTrue(2 > 1) // Výraz 2 > 1 je automaticky zabalený do uzávierky

Tu sa 2 > 1 nevyhodnocuje okamžite pri volaní, ale iba vo vnútri funkcie pri volaní predicate().