Tengo un código que funciona después de reemplazar la cadena de lectura por cadena de carga. Es bueno que el código funcione, pero me gustaría saber por qué. ¿Cuál es la diferencia entre las dos funciones de clojure?Diferencia entre cadena de lectura y cadena de carga en Clojure
10
A
Respuesta
8
Uso carga-cadena para leer secuencialmente y evaluar el conjunto de formularios contenidos en la cadena de
Uso leer-string para leer un objeto de la cadena s
(tanto tomadas de Clojure API)
Load-string evaluará su cadena como una expresión Clojure, y read-string toma la cadena y la devuelve como la estructura de datos encontrada, en cuyo caso podría ser una expresión.
Protip: (load-string "(+ 1 2)")
y (eval (read-string "(+ 1 2)"))
le dará el mismo resultado, que es 3
0
dos diferencias notables:
read-string
lee pero no se evalúa, mientras load-string
lee y evalúa.
(read-string "(inc 1)") => (inc 1)
(load-string "(inc 1)") => 2
read-string
sólo lee la primera forma de la cadena, mientras que load-string
cargas todas las formas de la cadena.
(read-string "1 2") => 1
(load-string "1 2") => 2
Cuestiones relacionadas
- 1. Diferencia entre Convert.ToDecimal (cadena) y Decimal.Parse (cadena)
- 2. Diferencia entre texto() y cadena()
- 3. Diferencia entre cadena binaria, cadena de bytes, cadena Unicode y una cadena ordinaria (str)
- 4. ¿Cuál es la diferencia entre Convert.ToBoolean (cadena) y Boolean.Parse (cadena)?
- 5. Diferencia entre los tipos de cadena y char [] en C++
- 6. Diferencia en Clojure entre uso y requiere
- 7. Diferencia entre definición y defprotocol en Clojure
- 8. Diferencia entre dosisq y para en Clojure
- 9. diferencia de objeto "Cadena", y literal de cadena en JavaScript
- 10. diferencia de longitud de cadena entre 1,8 y 1,9 rubí
- 11. Diferencia entre confirmación de lectura y lectura repetible
- 12. Diferencia entre String.getBytes() y Bytes.toBytes (datos de cadena)
- 13. F #: En términos reales, ¿cuál es la diferencia entre una "cadena" y una "opción de cadena"?
- 14. Diferencia entre eval y setTimeout ejecutar código de cadena
- 15. ¿Diferencia entre la cadena y el texto en los rieles?
- 16. Diferencia entre char a [] = "cadena"; char * p = "cadena";
- 17. Clojure Cadena Valores devueltos
- 18. lectura ServletOutputStream a cadena
- 19. En C# ¿cuál es la diferencia entre las mayúsculas y minúsculas Cadena/cadena?
- 20. ¿Cuál es la diferencia entre (cadena [] args) y System.Environment.CommandLine?
- 21. Tipo de filtro Cadena en Clojure
- 22. Diferencia de cadena de bash
- 23. Lectura de una cadena terminada en nulo
- 24. ¿Cuál es la diferencia entre una cadena COM (BSTR) y una cadena .NET?
- 25. ¿Cuál es la diferencia entre Cadena (valor) y valor como Cadena?
- 26. ¿Cuál es la diferencia entre '() y (lista) en Clojure?
- 27. Arduino cadena de lectura de la serie
- 28. Archivos de carga de Clojure
- 29. UIWebView carga cadena html analizada
- 30. Diferencia entre y