首页 > 解决方案 > 在哈希图中切换布尔值

问题描述

以下工作但感觉/似乎是错误的。有没有更好的办法?

dev:cljs.user=> (def x (atom {:v true}))
#'cljs.user/x
dev:cljs.user=> (swap! x assoc-in [:v] (not (:v @x)))
{:v false}
dev:cljs.user=> (swap! x assoc-in [:v] (not (:v @x)))
{:v true}

标签: clojureclojurescript

解决方案


cljs.user=> (def x (atom {:v true}))
#'cljs.user/x
cljs.user=> (swap! x update :v not)
{:v false}
cljs.user=> @x
{:v false}

推荐阅读