我有一个哈希图。我想迭代这些值并根据值的类型替换它们中的每一个。如果该值是整数,则将其替换为true
,如果不是,则将其替换为false
。我希望它返回一个新的哈希映射,每个值都更新为真或假。
(defn my-function [hash-map]
(loop [hash-map hash-map]
(for [value (vals hash-map)]
(if (= Integer (type value))
(recur (assoc hash-map key true))
(recur (assoc hash-map key false))))))
这行不通,因为 Clojure Can only recur from tail position
,但这是我想要做的一般想法。任何有效的方法来做到这一点的想法? if-let
并且update-in
似乎是潜在的解决方案,但我无法完全掌握它们。