Hi Dave,
Another option is to use the
for<http://clojuredocs.org/clojure_core/clojure.core/for>macro's while clause
to stop processing as soon as you hit an error.
Here's a basic example with a simple my-func that returns a string-based
error to give you an idea of how it could look:
(defn my-func [n]
(cond
(< n 4) (str n)
:else "error"))
(for [n [1 2 3 4 5]
:let [result (my-func n)]
:while (not= result "error")]
result)
Cheers,
James
On Sunday, November 24, 2013 5:19:49 PM UTC+1, David Simmons wrote:
>
> Hi All.
>
> Still struggling to get my head around Clojure - this is attempt number 4.
>
> I wish to process each item in a vector. I know I can use map to do this
> e.g. (map my-func my-vector). My problem is that I need to be able to break
> out of the map if my-func returns an error when processing any of the
> items. I know map isn't what I'm looking for but is there a function or
> some idiomatic piece of clojure to achieve my aim.
>
> cheers
>
> Dave
>
>
--
--
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
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.