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

欢迎!请查看关于页面了解这个网站是如何运作的更多信息。

0
Clojure

根据 doseq 的文档字符串,以下应该返回 nil

user> (doseq [] "not nil") "not nil"

6 个答案

0

评论由:admay

我认为这解决了这个问题。

有一个(do ...)块在(seq exprs)为nil时运行,但如果您的body不是返回nil的内容,那么这个do块的返回值不一定是nil。

0

评论由:mfikes

很奇怪,因为 docstring 表示绑定的过滤与 "for" 中提供的一样,而 {{doseq}} 甚至有对于这个情况的代码,因此提出了一个问题,即 {{(doseq [] "not nil")}} 是否是一个有效的程序。

0

评论由:alexmiller

测试?

0

评论由:admay

这里有一些测试!我认为这些适合用于 doseq 的用例。由于它们非常相似,我就用了和 dotimes 类似的测试。

0

评论由:admay

我移除了原始测试中的 printlnidentity 代替。这样看来更合适,这样在测试打印输出中就不会有随机的 'foo'。

0
参考: https://clojure.atlassian.net/browse/CLJ-2283 (由 ambrosebs 报告)
...