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

Reply via email to