欢迎!请查看 关于 页面以了解更多关于这个平台如何工作的信息。
我认为 `for` 和 `doseq` 的文档(至少是文档字符串)未能解释 `:while` 修饰符的语义。其存在是记录在案的,但没有说明行为。
我希望文档能够更新,尤其是在它的行为与其合理的但相对直观的行为不同时。我相信一个合理的人会预期 `:while false` 会触发 `for` 或 `doseq` 退出;然而它并没有。相反,它会导致包含 `:while` 的最内层循环退出,但最值得注意的是,外部循环继续迭代。
关于这个问题的其他讨论可以在这里找到:clojurians
作为 https://clojure.atlassian.net/browse/CLJ-2869 登录