请分享您的想法,参加 2024年Clojure调查问卷!

欢迎!请参阅 关于 页面,了解有关此功能的一些更多信息。

+1
core.cache

https://cljdoc.org/d/org.clojure/core.cache/1.0.225/doc/using-core-cache 上的文档示例没有提到必须选择 core.cachecore.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

我认为在文档中提供更完整的示例可以解决此问题。

1 个答案

+1

感谢您的反馈!自从我接管 core.cache 的维护工作后,我必须承认我并没有花很多时间在文档上。鉴于2023年Clojurists Together的资助,我将在文档上进行彻底的重构

我们在工作中广泛使用 clojure.core.cache.wrapped,因为它与 clojure.core.cache 一起工作以及管理原子等自己处理要方便得多。我需要提炼这些经验并确保文档反映了这一点。

by
Sean,

很高兴阅读你写的任何内容,并会在其他可能的方式上提供帮助。
by
我在README(以及在存储库中的一些/docs页面上)添加了一些笔记,以试图阐明两种使用方法:[链接]

特别是,我将clojure.core.cache.wrapped的别名:as从c改为w,使其更明确第二组示例全部使用封装API。
...