【发布时间】:2016-12-31 10:15:00
【问题描述】:
我有一个 such things 的 java.util.Collections$UnmodifiableList:
(.getGuilds bot)
我如何迭代它,在每个上面调用一个方法 getName 并制作另一个所有名称的列表。
【问题讨论】:
我有一个 such things 的 java.util.Collections$UnmodifiableList:
(.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))
【讨论】:
(memfn getName)代替#(.getName %)。
memfn 已被弃用。