Ich habe ein Programm mit vielen Vortexen (was leider selbst von Scala-Mechanismen nicht reduzierbar ist). Aber wenn es eine Möglichkeit gäbe, komplexe Top-Level-Klassen mit einem Makro zu generieren, würde das alles verschwinden. Zum Beispiel:
%Vor%Wird es mit Scala 2.10 Makros möglich sein?
Kurz gesagt: Nein.
Makro-Typen (dh Makros, die Typen anstelle von Methoden erzeugen) sind geplant, aber sie sind weder entworfen noch spezifiziert, geschweige denn implementiert, und sie werden nicht für 2.10 sein.
Außerdem kann ein einzelner Makroaufruf nur einen einzigen Typ erzeugen. Da jedoch Typen (insbesondere object
s) verschachtelt werden können, ist dies keine Einschränkung: Sie können nur eine einzige Top-Level object
erstellen, die alle benötigten Klassen enthält. Der Unterschied zwischen diesem und Ihrem Code ist im Grunde eine zusätzliche import
-Anweisung:
Sie dachten über package
-Makros, die ganze Pakete voller Klassen generieren können, aber da object
s eine Obermenge von package
s sind und Typmakros object
s erzeugen können, die nicht notwendig wären .
Tags und Links scala macros scala-2.10