在 clojure 中使用 java 结构
Working with a java structure in clojure
我有一个 java.util.Collections$UnmodifiableList such things:
(.getGuilds bot)
如何遍历它,对每个方法调用一个方法 getName
并制作另一个包含所有名称的列表。
如果我理解正确的话,您唯一需要做的就是映射列表并获取名称。由于 java.util.Collections$UnmodifiableList
是可迭代的,clojure 会将其视为可序列集合。一个简单的例子:
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")
所以,在你的情况下应该是这样的:
(map #(.getName %) (.getGuilds bot))
我有一个 java.util.Collections$UnmodifiableList such things:
(.getGuilds bot)
如何遍历它,对每个方法调用一个方法 getName
并制作另一个包含所有名称的列表。
如果我理解正确的话,您唯一需要做的就是映射列表并获取名称。由于 java.util.Collections$UnmodifiableList
是可迭代的,clojure 会将其视为可序列集合。一个简单的例子:
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")
所以,在你的情况下应该是这样的:
(map #(.getName %) (.getGuilds bot))