嗨,我在尝试从集合中删除元素时撞到了砖墙。

我有一张卡片 map 。

   (def cards
  {
    :card1 {:name "Wisp"              :type "Monster"     :damage 1 :health 1 :cost 0 :charge "t"}
    :card2 {:name "Spider Tank"       :type "Monster"     :damage 3 :health 4 :cost 3}
    :card3 {:name "Boulder Fist Ogre" :type "Monster"     :damage 6 :health 7 :cost 6}

    }
 )

以及这些卡片的一副(套)。
(def deck1 (set (map cards '(:card1 :card2 :card3))))

当我使用 disj 尝试删除其中一张卡时,没有任何 react 。
(disj deck1 :card1)

我真的不知道为什么。

最佳答案

leetwinski 在评论中说得对。 (disj deck1 (:card1 cards)) 是正确的。

关于clojure - 使用 disj 从 Clojure 中的集合中删除元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35273686/

10-11 21:50