Odpovídáte na názor ke článku Swift podruhé.
„Navíc není pravda, jak nesmyslně zaznělo v minulé diskusi, že by zavádělo víceznačnou syntax. Překladač si s případným překlepem hravě poradí.“
Jak si poradí s tím, kdy mezi ) a { vložíte konec řádku? Podle manuálu by se tím z trailing closure měla vyrobit samostatná closure, to by mělo jít zkompilovat, a že to dělá něco úplně jiného, se pozná až za běhu.
„u uzávěrů překladač automaticky rozhodne o vhodném způsobu zkopírování proměnných (což žádný dnes rozšířený jazyk nedělá).“
Co jsem vyčetl v refernci, tak Swift akorát dělá to samé co [&] v C++ s tím rozdílem, že ve Swiftu už z podstaty fungování nejsou proměnné omezené scope, ale počítáním referencí. Dost podobně fungují generátory v Pythonu.
„Nevím ale, jestli to lze určit explicitně (jako v C++ [i,&j])“
V refernci možnost předávat parametry hodnotou není uvedena, takže pravděpodobně ne.
Autor se zabývá vývojem kompilátorů a knihoven pro objektově-orientované programovací jazyky.
Přečteno 37 774×
Přečteno 26 420×
Přečteno 24 932×
Přečteno 21 278×
Přečteno 18 930×