Like this?
(defn printf+ [& [writer & more :as xs]]
(if (instance? java.io.PrintWriter writer)
(binding [*out* writer]
(apply println more))
(apply println xs)))
On Sat, Dec 31, 2011 at 10:01 AM, Andy Fingerhut
<[email protected]>wrote:
> I know I can bind *out* to another stream like *err*, but is that the only
> way built-in to Clojure?
>
> (binding [*out* *err*] (println "This will go to *err*, not *out*"))
>
> If it is the only way, is there some library perhaps where someone has
> implemented a function that lets you specify the output stream as an
> argument, e.g.
>
> (printf+ *err* "This will go to *err*")
> (printf+ "This will go to *out* as the default output stream")
>
> Thanks,
> Andy
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
--
Sam Ritchie, Twitter Inc
703.662.1337
@sritchie09
(Too brief? Here's why! http://emailcharter.org)
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en