Reputation: 291
I have a java.util.Collections$UnmodifiableList of such things:
(.getGuilds bot)
How do I iterate over it, call a method getName
on each one and make another list of all the names.
Upvotes: 3
Views: 125
Reputation: 17859
If i understand you correctly, the only thing you need to do is simply map over the list and get names. Since java.util.Collections$UnmodifiableList
is iterable, clojure will treat it as sequable collection. A simple example:
user> (import java.util.Collections)
java.util.Collections
user> (def files (Collections/unmodifiableList
[(java.io.File. "aaa") (java.io.File. "bbb")]))
#'user/files
user> (map #(.getName %) files)
("aaa" "bbb")
so, in your case it should be something like this:
(map #(.getName %) (.getGuilds bot))
Upvotes: 6