欢迎!请参阅关于页面以获取有关如何操作的更多信息。
根据 doseq 的文档字符串,以下应返回 nil。
nil
user> (doseq [] "not nil") "not nil"
评论者:admay
我认为这解决了这个问题。
有一个 (do ...) 在 (seq exprs) 为 nil 时运行,但这个 do 的返回值不一定为 nil 如果你的主体是某种不会返回 nil 的东西。
(do ...)
(seq exprs)
do
评论者:mfikes
由于文档字符串表明绑定和筛选与 "for." 提供的相同,因此 doseq 甚至为这种情况编写代码似乎很奇怪。因为 {{for}} 需要一个或多个绑定形式,所以它引发了是否 {{(doseq [] "not nil")}} 是有效程序的疑问。
评论者:alexmiller
测试?
这里有一些测试示例!我认为这些适合用于 doseq 的用例。我只是选择与 dotimes 类似的测试,因为它们非常相似。
doseq
dotimes
我移除了原始测试中的 println 并改为使用 identity。这样更合适,因为你不会在测试的输出中有随机的 'foo'。
println
identity