Quindi voglio prima eseguire una serie di codice e quindi chiedere all'utente se vuole farlo di nuovo. Ho pensato che il modo più conveniente per fare questo sarebbe un do-while come in C++, e dato che non riuscivo a trovare nessuna funzione do-while in Clojure, ho scritto il seguente:Ciclo Do-while in Clojure?
(defmacro do-while
"Executes body before testing for truth expression"
[test & body]
`(do (do [email protected]) (while ~test [email protected])))
Would ci sarà un modo migliore (come in più idiomatico Clojure-ish) di scrivere questa macro, o forse un modo migliore di fare quello che voglio senza passare attraverso il percorso del do-while?