eval

added
1.0

ns
clojure.core

type
function

(eval form)

Evaluates the form data structure (not text!) and returns the result.

                user=> (def *foo* "(println [1 2 3])")
#'user/*foo*

user=> *foo*
"(println [1 2 3])"

user=> (eval *foo*)   ; Notice eval'ing a string does not work.
"(println [1 2 3])"

user=> (eval (read-string *foo*))
[1 2 3]
nil
            
                user=> (eval '(let [a 10] (+ 3 4 a)))
17

            
                (def x '(+ 2 3))
(println x) 
=> (+ 2 3)
(println (eval x))
=> 5