Ich komme aus einem Python-Hintergrund und mag wirklich die Power von Python Decorators.
Unterstützt Lua Decorators?
Ich habe den folgenden Link gelesen, aber es ist mir unklar: Ссылка
AKTUALISIEREN
Würdest du auch ein Beispiel dafür geben, wie man es in Lua implementiert, wenn es möglich ist.
Die "Dekorateure" werden auf der von Ihnen zitierten Seite dokumentiert (und zum Beispiel in diesem verwendet, um eine Typüberprüfung hinzuzufügen ) haben wenig mit Pythons seltsam benannter "Dekoratorsyntax" zu tun, für eine spezifische Art und Weise, eine HOF anzuwenden - vielmehr sind die in Lua's Wiki beschriebenen und verwendeten Dekoratoren ein Lua-Idiom, um eine Anwendung des Decorator Design Pattern zu Lua-Funktionen (indem Sie "zusätzliche Attribute" - wie Docstrings, Typchecking-Funktionen, usw. - in halten) separate globale Tabellen).
Lua unterstützt HOFs (ich bin mir nicht sicher, ob Sie einen Funktionsnamen an das Ergebnis der HOF-Funktion binden können, aber Sie können leicht, wie die Wiki-Seiten zeigen Verwenden Sie eine anonyme "Originalfunktion" und binden Sie 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 können tue es in Lua (und Lua's anonyme Funktionen führen Kreise 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! -).
Tags und Links python programming-languages syntax decorator lua