On 20 October 2010 14:19, Dave Ray <[email protected]> wrote:
> Hey,
>
> I'm parsing a file with a chain of filter and map operations. To make
> it a little more readable (to me), I put the steps in a let like this:
>
> (defn parse-dictionary
> [reader]
> (let [lines (read-lines reader)
> trimmed (map #(.trim %1) lines)
> filtered (filter is-dictionary-entry? trimmed)]
> (map parse-entry filtered)))
>
> Is this style of let considered good/bad stylistically? Are there
> technical tradeoffs between this and a bunch of nested forms?
>
> Thanks!
>
> Dave
>
Not sure about the technical implications, but I can offer another
alternative:
(defn parse-dictionary
[reader]
(->> (read-lines reader)
(map #(.trim %1))
(filter is-dictionary-entry?)
(map parse-entry)))
I think this reads about as well as the (let ...) version. It's easy enough
to trace the 'flow' of execution through the various forms.
Regards,
Stuart
--
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