¿Por qué este trozo de código Clojure:Clojure constantemente mapa funcional y
user=> (map (constantly (println "Loop it.")) (range 0 3))
esta salida Rendimiento:
Loop it.
(nil nil nil)
yo esperaría que imprima "bucle" tres veces como un lado efecto de evaluar la función tres veces.
Echó un vistazo a la fuente. Esto se ve como un ganador. – Mike
Estaba intentando usar constantemente para evitar pasar explícitamente un argumento que no necesito. Sin embargo, se conformará con esto. – Mike
Tenga en cuenta que si solo desea efectos secundarios, debe usar 'doseq' o' dotimes'. Dado que 'map' es flojo, no obtendrás el resultado que deseas a menos que lo fuerces con' doall' o 'dorun'. –