Also, you should also consider simply using the seq function, which is what you should use when you want just to evaluate a lazy sequence:
(str (seq (map identity [1 2 3]))) "(1 2 3)" On Dec 6, 11:20 am, CuppoJava <patrickli_2...@hotmail.com> wrote: > This is expected behavior. > > eg. (str (map identity [1 2 3])) > returns "clojure.lang.lazy...@7861" > > The way to think about it is, (str) asks for the string representation > of an object. The string representation of a lazy sequence in this > case is "clojure.lang.lazy...@7861". > > If you want the string representations of what's inside the lazy seq, > you can use the apply function. > > (apply str (map identity [1 2 3])) > "123" > > Alternatively, you can convert the lazy-seq to a vector. The string > representation for a vector shows the elements inside of it. > > (str (vec (map identity [1 2 3]))) > "[1 2 3]" > > Hope that makes sense. > -Patrick -- 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