Các tài liệu cho ref show a: tùy chọn max-lịch sử và tiểu bang rằng "refs tích lũy lịch sử tự động khi cần thiết để đối phó với nhu cầu đọc." Tôi có thể thấy rằng có lịch sử tại REPL, nhưng tôi không thấy cách tìm các giá trị trước đó của một 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
Có lẽ thế giới đã có các giá trị "xin chào", "tốt hơn" và "tốt hơn !!!". Làm thế nào để tôi truy cập vào lịch sử đó?
Nếu không thể truy cập vào lịch sử đó, liệu có một kiểu dữ liệu lưu giữ lịch sử các giá trị của nó có thể được truy vấn sau đó không? Hoặc đó là lý do tại sao cơ sở dữ liệu datomic được tạo ra?