Uczę się Lua i natknąłem się na koncepcję anonimowych funkcji. To interesujące, ale zastanawiałem się, jaką dodatkową zaletę zapewnia ponad nie anonimowymi funkcjami.Anonymous vs Non Anonymous functions Lua
Więc jeśli mam coś podobnego
function(a,b) return (a+b) end
Funkcja ta jest anonimowa, a jeśli mam
function add(a,b) return (a+b) end
Funkcja nie jest anonimowy. Druga jest lepsza, ponieważ mogę ją nazwać, gdzie tylko chcę, a także wiem, co robię. Jaka jest zaleta anonimowych funkcji? Czy coś mi umyka?
Masz go od tyłu. O wiele bardziej przydatnym modelem mentalnym jest traktowanie "funkcji f (...) ... końca" jako cukru syntaktycznego dla 'local f = function (...) ... end' i myślenie o funkcjach ogólnie jako obiektach zamiast statycznych bloków budulcowych twojego programu. Nie pytasz, dlaczego możesz używać literałów liczbowych bez podawania im wyszukanych angielskich nazw, prawda? – delnan