2010-12-29 24 views

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