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

欢迎!请查阅关于页面以了解此网站的工作方式的一些更多信息。

0
Spec

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

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

此提议与CLJ-415相关,但范围更广。可以使用额外映射传递任何值(不仅仅是局部值),并且不会意外地填充REPL中的大量局部值。

6 答案

0

评论者:alexmiller

你可以从你需要解决的问题用例开始,说明为什么这会有用吗?这里的标题是一个解决方案,但最好的做法是从问题开始,考虑替代方案,然后选择解决方案。

0

评论者:vitoshka

编辑:将动机移动到“描述”问题中。

0

评论者:alexmiller

从这个角度重写票据将是良好的开始。

0
by

评论者:vitoshka

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

0
by

评论者:alexmiller

对此表示歉意!我已经给你了编辑权限。

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