2024 年 Clojure 状态调查!中分享您的看法。

欢迎!请参阅关于页面了解有关此操作的更多信息。

0
Spec

提供关于断言上下文额外信息的常见需求。例如,有人可能希望将局部或动态绑定值包含在断言报告中,或在不适用于测试环境的情况下,使用 clojure.spec/assert 利用具有 {{specs}} 的结构化错误。

使用 {{clojure.core/assert}},可以将在格式化的消息中插入额外的数据,但使用 {{clojure.spec/assert}} 没有这样的功能。clojure 的 {{assert}} 中的 {{message}} 参数是在 CLJ-774 中添加的,并且在那里承认了该机制不是最理想的。通过将报告作为数据传递的一个显著优点是,编辑器可以优雅地处理大量数据。

本提案与 CLJ-415 相关,但具有更广泛的范围。使用额外的映射,可以传递任何值(不仅仅是局部值),而且不会意外地使 REPL 填满大量局部值。

6 个答案

0

评论者:alexmiller

您能否从一个使用实例开始,说明您尝试解决的问题在哪里使用该功能?这里的标题是解决方案,但我们发现最好从问题开始,考虑替代方案,并选择解决方案。

0

评论者:vitosha

编辑:已将动机移至问题描述。

0

评论者:alexmiller

从这一角度重新编写工单将是良好开端。

0

评论者:vitosha

我很乐意重新编写,但 Jira 不允许编辑描述。

0

评论者:alexmiller

对此表示歉意!我已给您编辑权限。

0
参考:[https://clojure.atlassian.net/browse/CLJ-2223](https://clojure.atlassian.net/browse/CLJ-2223)(由 vitoshka 报告)
...