2012-03-31 15 views
7

Ich entschuldige mich, wenn die Frage trivial ist, aber etwas googlen führt mich nirgends. Wie lautet die allgemeine Syntax von defmulti und defmethod? Ich kann einfache Multimethoden schreiben, aber ich bin mir nicht sicher, wo ich die Docstring-, Pre- und Post-Bedingungen, Metadaten und so weiter einfügen kann.Allgemeine Syntax von Multimethoden

Ich interessiere mich eigentlich für ClojureScript mehr als in Clojure, also wenn es Unterschiede zwischen den beiden gibt, bitte sagen Sie mir.

Antwort

7

In einer REPL können Sie die doc Funktion verwenden, um die Funktionsargumente und (meistens) eine Erklärung der Optionen zu erhalten. Wie bei ClojureScript sind diese beiden Funktionen Makros, was bedeutet, dass sie zur Kompilierungszeit erweitert werden und sich genauso verhalten sollten wie im normalen Clojure. Das heißt, solange ClojureScript den Code verarbeiten kann, den das Makro generiert.

4

Bei Clojuredocs: defmulti, defmethod.

Wenn Sie die Beispiele dort nicht detailliert genug finden, können Sie Ihre eigenen hinzufügen (sobald Sie alle Ihre Fragen beantwortet haben).