欢迎!请查看 关于 页面,了解更多关于如何工作的信息。
https://cljdoc.org/d/org.clojure/core.cache/1.0.225/doc/using-core-cache 上的文档示例没有提及必须在 core.cache 和 core.cache.wrapped 之间进行选择。更具体地说,在创建缓存时,示例导入了 core.cache 命名空间。然而,在lookup-or-miss 上,假定已经导入了core.cache.wrapped。当尝试使用从 core.cache 的工厂创建的缓存使用 wrapped/lookup-or-miss 时,会遇到相当含糊的异常
class clojure.core.cache.LRUCache cannot be cast to class clojure.lang.IAtom
我认为在文档中提供更完整的示例将有助于缓解这个问题。
感谢您的反馈!自从我接管了 core.cache 的维护以来,我必须承认我没有在文档上花很多时间。鉴于 2023 年的 Clojurists Together 资助,我将留出一些时间来彻底改革这个库的文档。
core.cache
我们在工作中广泛使用 clojure.core.cache.wrapped,因为与尝试使用 clojure.core.cache 和自己管理原子等相比,要方便得多。我需要提炼这一经验,并确保文档反映了这一点。
clojure.core.cache.wrapped
clojure.core.cache