On Tue, Feb 17, 2009 at 11:05 AM, Laurent PETIT <laurent.pe...@gmail.com> wrote:
> Hello,
>
> I wanted to try it too, so I grabbed Timothy's version, and did some
> improvements (I hope they are, feedback welcome ! :-) over it.
>
> Something I corrected is the removal of null or blank items, as in the first
> python version.
> I also got rid of the assoc by using update-in.
> And I felt that there was too much use of apply, but this may be subjective.
>
> Question: In order to use update-in (or assoc in the previous version), one
> has to transform the seqs returned by partition into a vector of vectors,
> thus the use of 'into.
> It still seems a little bit ugly to me. Is there a more concise (if not
> idiomatic) way to do that ?
>
> Here is the new version:
>
> (ns html.table)
>
> (defn make-table [column-count selected-row selected-column words]
>   (let [remove-blank (partial remove #(or (nil? %) (-> % .trim .isEmpty)))

I got an exception here:
java.lang.IllegalArgumentException: No matching field found: isEmpty
for class java.lang.String (NO_SOURCE_FILE:0)

I assume you're using Java 1.6?

Changing it to the following fixes it for me:
[...]
  (let [remove-blank (partial remove #(or (nil? %) (empty? (.trim %))))
[...]

>         table (into [] (map (partial into []) (partition column-count
> (remove-blank words))))
>         table-with-selected (update-in table [selected-row selected-column]
> (partial list :bold))]
>     (cons :table
>           (map (fn [r] (cons :tr (map (fn [i] (list :item i)) r)))
>                table-with-selected))))
>
> (defn test-mt []
>     (make-table 3 1 0 ["cat" "dog" "rabbit" "cat" "dog" "rabbit" "frog"
> "elephant" "gorilla"]))

-- 
Michael Wood <esiot...@gmail.com>

--~--~---------~--~----~------------~-------~--~----~
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
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