ref的文档显示了:max-history选项,并指出“ refs根据需要动态地累积历史记录,以处理读取需求。” 我可以看到REPL有历史记录,但是我看不到如何找到ref的先前值:
user=> (def the-world (ref "hello" :min-history 10))
#'user/the-world
user=> (do
(dosync (ref-set the-world "better"))
@the-world)
"better"
user=> (let [exclamator (fn [x] (str x "!"))]
(dosync
(alter the-world exclamator)
(alter the-world exclamator)
(alter the-world exclamator))
@the-world)
"better!!!"
user=> (ref-history-count the-world)
2
大概世界的值是“ hello”,“ better”和“ better !!!”。我如何访问该历史记录?
如果无法访问该历史记录,是否有一个数据类型保留其值的历史记录,以便以后查询?还是这就是为什么创建原子数据库的原因?