2012-09-23 22 views
8

Me encontré con esta elegante implementación del triángulo de Pascal que usa una secuencia perezosa.Explicar el triángulo perezoso de Pascal en Clojure

Podría alguien ayudarme a entender el ,,, en este contexto? Intenté usar macroexpand pero eso no me llevó lejos. También sé que su uso no es obligatorio, pero quiero saber que significa ,,,.

Respuesta

13

Las comas se tratan como espacios en blanco en Clojure por lo que Reader ignorará por completo ,,,. La razón por la que está ahí es para hacer que el código sea más legible para los humanos.

En este contexto, la ->> macro insertará el (concat ...) en la última posición de la llamada a (map ...), es decir, en la posición de ,,,.

El ,,, comúnmente utilizado con -> y ->> macros para hacer el código más legible, pero en realidad no hacer nada.