Domanda

Il Documentazione per rif mostra un'opzione max-story e afferma che "i riferimenti accumulano la storia in modo dinamico per far fronte alle richieste di lettura". Vedo che c'è una storia al repl, ma non vedo come trovare i valori precedenti di un 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

Presumibilmente il mondo ha avuto i valori "ciao", "meglio" e "meglio !!!". Come accedo a quella storia?

Se non è possibile accedere a quella cronologia, esiste un tipo di dati che mantiene una cronologia dei suoi valori che possono essere interrogati in seguito? O è per questo che è stato creato il database Datomic?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top