Frage

Ich suche einige meiner leichteres Gewicht zu bewegen, von Nemerle Metaprogrammierung Boo und ich versuche, herauszufinden, wie benutzerdefinierte Operatoren zu definieren. Zum Beispiel kann ich folgende in Nemerle tun:

macro @<-(func, v) {
    <[ $func($v) ]>
}

Dann sind diese zwei äquivalent:

foo <- 5;
foo(5);

Ich kann nicht einen Weg, dies zu tun in Boo finden - Ideen

War es hilfreich?

Lösung

Während Boo unterstützt Betreiber Überlastung durch die entsprechende statische Bedienfunktion (op_addition) definiert, und unterstützt auch syntaktische Makros es keine benutzerdefinierten Operatoren zu diesem Zeitpunkt der Erstellung unterstützt.

Andere Tipps

Ich bin mir nicht sicher, ob dies ist genau das, was Sie brauchen, aber Sie können syntaktischen Makros in Boo erstellen. Es gibt einige Informationen über die Codehaus-Website http://boo.codehaus.org/Syntactic+Macros, aber die Syntax ist in einer der letzten Versionen geändert. Ich weiß nicht von irgendwelchen Tutorials auf der neuen Syntax aber die Freigabe Quelle für Boo 0.8.2 hat einige Beispiele (ein Teil der Sprachstrukturen werden als Makros implementiert). Wenn Sie die volle Quelle nicht eine Ansicht der SVN-Repository verfügbar ist, https://svn.codehaus.org/boo/boo/trunk/src/Boo.Lang.Extensions/Macros/ . Das Makro assert ein guter Anfang wäre.

HTH

Stoo

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top