從Clojure地圖獲取未知密鑰的最佳方式是什麼?我想這一點 -從Clojure持久哈希獲取未知密鑰
(key {:a "test"})
會拋出這一點 - 在source code
ClassCastException clojure.lang.PersistenArrayMap cannot be cast to java.util.Map$Entry
來看,這也在情理之中
(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
我明白,我可以打電話keys
然後拉說key
從KeySeq
,但我很好奇,如果有一個簡單的方法,用一個函數調用來做到這一點。
就互操作而言,這是a related question。感謝您的意見。
如果地圖僅包含一對,那麼兩個向量元素可能會更好地工作:'[:a「test」]' – DaoWen
這很有幫助。我正在檢查傳入哈希的每個關鍵值與現有哈希的關鍵值,以查看關鍵字是否已存在,因此在傳入時使用向量可能會更簡單。謝謝你的提示。 – nrako