从Clojure映射中获取未知密钥的最佳方法是什么?我试过了-
(key {:a "test"})
这引发-
ClassCastException clojure.lang.PersistenArrayMap cannot be cast to java.util.Map$Entry
看source code,这很有意义-
(defn key
"Returns the key of the map entry."
{:added "1.0" :static true}
[^java.util.Map$Entry e]
(. e (getKey)))
我也尝试过
(key (java.util.Map$Entry. {:a "test"}))
哪个抛出这个-
CompilerException java.lang.IllegalArgumentException: No matching ctor found for interface java.util.Map$Entry
我知道我可以调用键,然后从KeySeq中拉出所述键,但是我很好奇是否有一种简单的方法可以通过一个函数调用来完成此操作.
根据互操作性,这是a related question.感谢您的输入.
解决方法:
(key(first {:a“ test”}))会为您获取地图中第一个条目的密钥,这就是您要尝试执行的操作吗?