clojure - 在哈希图中切换布尔值
问题描述
以下工作但感觉/似乎是错误的。有没有更好的办法?
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}
解决方案
cljs.user=> (def x (atom {:v true}))
#'cljs.user/x
cljs.user=> (swap! x update :v not)
{:v false}
cljs.user=> @x
{:v false}
推荐阅读
- json - 为什么json没有做任何事情?
- c++ - 用于创建 .txt 文件的程序。将随机创建的 100 个整数写入其中。整数之间用空格隔开。在 C++ 中
- generics - 一次对多个类型施加相同的类型约束
- javascript - 使用 javascript 的链接一次只显示一个
- gnu-make - 为什么我不能在(加载)定义它的 scm 文件后使用我的宏?
- java - 嵌套的java循环没有产生预期的结果
- autocomplete - MUI - 如何从 freeSolo 自动完成组件中获取任意值
- python - 在 python pandas 中提取和计算表情符号
- arrays - 当我添加更多股票时动态更新股票代码数组
- php - preg_replace 替换组 #1