Skip to content

Instantly share code, notes, and snippets.

@billrobertson42
Created February 2, 2012 04:27
Show Gist options
  • Save billrobertson42/1721478 to your computer and use it in GitHub Desktop.
Save billrobertson42/1721478 to your computer and use it in GitHub Desktop.
Turn a StringBuilder into Clojure function
user=> (def buffer (StringBuilder.))
#'user/buffer
user=>
(defn appender [^StringBuilder buffer]
(fn [& args]
(when-let [arg (first args)]
(.append buffer arg)
(recur (rest args)))))
user=> #'user/appender
user=>
user=> (apply (appender buffer) (interpose " " [(java.util.Date.) (System/currentTimeMillis) :more :stuff "here"]))
nil
user=> (str buffer)
"Wed Feb 01 23:22:10 EST 2012 1328156530916 :more :stuff here"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment