-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Along those lines, why is the apply necessary?
More clearly, and I encountered this with a different block of code
earlier today, repeat returns a lazy sequence. Str does nothing to
evaluate that sequences, so (str (repeat ...)) returns a lazy sequence.
Why does (apply str (repeat ...)) evaluate the sequence? The
documentation for apply does not mention that it will do so.
Generally I am having a lot of trouble with sequences because I am never
clear on when a lazy sequence will be evaluated strictly.
- --
Savanni
On 06/28/2010 01:14 PM, Nurullah Akkaya wrote:
> Hi José,
>
> user=> (apply str (repeat 3 "code"))
> "codecodecode"
>
> will give you what you want,
> if we break it down,
>
> user=> (repeat 3 "code")
> ("code" "code" "code")
>
> repeat will give you a sequence of xs,
> since you don't know the length of the
> sequence at compile time we apply str
> to the sequence
>
> (apply str '("code" "code" "code"))
>
> which basically expands to,
>
> (str "code" "code" "code")
>
> then you get,
>
> "codecodecode"
>
>
> --
> Nurullah Akkaya
> http://nakkaya.com
>
>
>
> 2010/6/27 José Luis Romero <[email protected]>:
>> Hi! I am learning the core of clojure, and so far, I am loving it. But
>> I am not a lisp programmer (python, java, among others), but never
>> functional programming. I am practicing with codingbat.com, coding the
>> exercises on clojure. I am stuck with loops. I want to concatenate n
>> times a string. For example, given the parameters 3 and "code" the
>> output will be "codecodecode". How can I do a loop in order to get
>> this output.
>>
>> I know that this is a very newb question, any help will be
>> appreciated.
>>
>> --
>> 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
>>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkwo6pEACgkQZIuDAZ4avD+JiQCgkiZg4ADytAL7ujIjq3S/73Up
msoAn0Z28vIwjTUXZb9bAN5o8LyDBUja
=I0Ni
-----END PGP SIGNATURE-----
--
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