2024 年 Clojure 州调查!中分享你的想法。

欢迎!请参阅关于页面以获取有关如何操作的更多信息。

0
Clojure

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

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

6 答案

0

评论者:admay

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

有一个 (do ...)(seq exprs) 为 nil 时运行,但这个 do 的返回值不一定为 nil 如果你的主体是某种不会返回 nil 的东西。

0

评论者:mfikes

由于文档字符串表明绑定和筛选与 "for." 提供的相同,因此 doseq 甚至为这种情况编写代码似乎很奇怪。因为 {{for}} 需要一个或多个绑定形式,所以它引发了是否 {{(doseq [] "not nil")}} 是有效程序的疑问。

0

评论者:alexmiller

测试?

0

评论者:admay

这里有一些测试示例!我认为这些适合用于 doseq 的用例。我只是选择与 dotimes 类似的测试,因为它们非常相似。

0

评论者:admay

我移除了原始测试中的 println 并改为使用 identity。这样更合适,因为你不会在测试的输出中有随机的 'foo'。

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