Die auf der von Ihnen zitierten Seite dokumentierten "Decorators" (und zum Beispiel in this one zum Hinzufügen von Typprüfungen verwendet) haben wenig mit Pythons seltsamer "Dekoratorsyntax" zu tun, um eine höhere Ordnung anzuwenden Funktion (HOF) - vielmehr sind die in Lua's Wiki beschriebenen und verwendeten Dekoratoren ein Lua-Idiom, um eine Anwendung der Decorator Design Pattern auf Lua-Funktionen zu unterstützen (durch Halten von "zusätzlichen Attributen" - wie Docstrings, Tychecking-Funktionen usw.) separate globale Tabellen).
Lua tut Unterstützung Höfs (Ich bin nicht sicher, ob Sie einen Funktionsnamen auf das Ergebnis der Anwendung einer HOF auf die Funktion erneut binden können, aber Sie können leicht, wie die Wiki-Seiten zeigen, eine anonyme verwenden "original function" und bindet nur einen Namen an das HOF-Ergebnis mit dieser anon-Funktion als arg.
Pythons "Decorator Syntax" Syntax Zucker ist nett (und zu meiner Überraschung, scheint die Verwendung von HOFs von den meisten Pythonistas um eine Größenordnung erhöht! -), aber es gibt nichts intrinsisch oder wesentlich an ihnen, dass Sie kann nicht in Lua tun (und Lua's anonyme Funktionen führen Kreis um Pythons doof, begrenzt lambda
sowieso - genau wie in Javascript haben sie im Wesentlichen die gleiche Macht und so ziemlich die gleiche Syntax, wie eine "normale" benannte Funktion! -).
Lua kann Wrapper um Funktionen genauso gut implementieren wie Python; es hat einfach keine spezielle Syntax dafür, da Lua eine sehr einfache Kernsyntax haben will (zu einem Fehler, da es so grundlegende Dinge wie 'continue' und' + = 'nicht gibt). –