I can change my dynamic var with alter-var-root like this.

(def ^:dynamic *x* "abc")
(alter-var-root #'*x* (constantly "xyz"))
*x*
; => "xyz"


However, I cannot change *out* with alter-var-root.

(alter-var-root #'*out* (constantly "xyz"))
*out*
; => #object[java.io.PrintWriter 0x6957ec80 "java.io.PrintWriter@6957ec80"]


I expected the result to be "xyz" but the result of *out* doe not change at 
all

Can anyone explain to me why?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/23d13e9b-6eb8-4a39-b00d-8fead541e18en%40googlegroups.com.

Reply via email to