Hi Folks,

So, I have a search string, for example "rabble".  And a map which
contains keyword keys, and vectors of strings as values:

(def players
{
:amit ["a" "b" "c"]
:roger ["rabble" "x" "y"]
})

Is there an idiomatic way to search for "rabble" in the vector values,
then return the keyword that matches it?  In this example, "rabble"
would match :roger.  "b" would match :amit.

Currently, I'm doing a "some" which has a predicate function which
contains another "some" seems awkward to me, but works:

Assuming the search-str has to be transformed in some way (that I'm
leaving out here), using:
(defn munge-str [search-str]
... returns a string...)

(defn key-from-match [search-str]
  (let [key-of-str? (fn [entry-pair]
                              (if (some #(= (munge-str search-str) %)
(val entry-pair))
                                (key entry-pair)))]
    (some key-of-str? (players))
    ))

Thanks for any suggestions.

Kyle

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