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

欢迎!请查看 关于 页面以获取更多关于此的工作方式的信息。

0
Clojure

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

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

6 个答案

0

评论者:admay

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

如果 (seq exprs) 是 nil,则会执行 (do ...),但该 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](https://clojure.atlassian.net/browse/CLJ-2283)(由 ambrosebs 报告)
...