Tengo algunas estructuras con secuencias perezosas anidadas que leen de los archivos. Cuando estoy probando, me gustaría poder envolverlos en una versión recursiva de doall para asegurarme de que todos los datos se extraen de los archivos antes de y se cierran los archivos.recursivo (doall) en clojure
6
A
Respuesta
5
(defn doall-recur [s]
(if (seq? s)
(doall (map doall-recur
s))
s))
(use 'clojure.contrib.duck-streams)
(with-open [r1 (reader "test1.txt")
r2 (reader "test2.txt")]
(doall-recur (list (line-seq r2) (line-seq r1))))
Salida:
(("This is test2.txt" "") ("This is test1.txt" ""))
5
(defn doall* [s] (dorun (tree-seq seq? seq s)) s)
0
Esto funcionó para mí en una prueba de unidad
(use 'clojure.walk)
(postwalk identity nested-lazy-thing)
Cuestiones relacionadas
- 1. Clojure Koanes es recursivo, incluso?
- 2. Cómo lograr un deftype recursivo
- 3. TreeView recursivo en ASP.NET
- 4. Hacer recursivo en seco
- 5. Cómo convertir secuencia perezoso para no perezoso en Clojure
- 6. SED recursivo en archivos específicos
- 7. descendente recursivo simple en PyParsing
- 8. mensaje propio (no recursivo) vs mensaje recursivo auto
- 9. ¿Cómo determinar si un idioma es recursivo o recursivo enumerable?
- 10. ¿SVN Global ignore recursivo?
- 11. ¿Refactorizar este método recursivo?
- 12. ¿Block_copy es recursivo?
- 13. Cuándo usar mutex recursivo?
- 14. PostgreSQL recursivo con
- 15. svn propset recursivo
- 16. En Clojure, ¿cómo definir una variable nombrada por una cadena?
- 17. Clojure Mapeo paralelo y secuencias infinitas
- 18. bash recursivo xtrace
- 19. Os.walk no recursivo()
- 20. BOOST: recursivo shared_mutex?
- 21. boost :: variante problema recursivo
- 22. rubí recursivo regex
- 23. Cómo leer líneas de stdin (* en *) en clojure
- 24. Clojure database unit testing/mocking
- 25. optimizaciones de compilador en un programa recursivo
- 26. Listado recursivo de directorios en dos
- 27. anula el método recursivo en python
- 28. error de alcance en el cierre recursivo
- 29. Referencia de mapa recursivo en F #
- 30. ¿Qué significa "Tipo recursivo obligado" en Genéricos?
debemos suponer 's' tiene que ser una versión del citado código al cual 'doall *' se aplicará? – matanster
No. ¿Por qué piensas eso? – cgrand