2012-03-31 31 views
7

Pido disculpas si la pregunta es trivial, pero algunos google no me llevan a ninguna parte. ¿Cuál es la sintaxis general de defmulti y defmethod? Puedo escribir métodos simples, pero no estoy seguro de dónde puedo poner las condiciones de docstring, pre y post, metadatos, etc.Sintaxis general de multimétodos

Estoy realmente interesado en ClojureScript más que en Clojure, así que si hay diferencias entre los dos, por favor dígame.

Respuesta

7

En un REPL puede utilizar la función doc para obtener los argumentos de las funciones y (la mayoría de las veces) una explicación de las opciones. En cuanto a ClojureScript, estas dos funciones son macros, lo que significa que están expandidas en tiempo de compilación y deberían comportarse exactamente como lo hacen en Clojure normal. Es decir, siempre que ClojureScript pueda manejar el código generado por la macro.

4

En Clojuredocs: defmulti, defmethod.

Si no encuentra los ejemplos allí lo suficientemente detallados, podría considerar agregar los suyos propios (una vez que haya contestado todas sus preguntas).