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

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

0
文档
以下代码可以正常工作,但是如果 `(inc a)` 依赖 `a` 已经被绑定,这在文档中并未明确指出。


user=> (defn foo [a {:keys [b] :or {b (inc a)}}]
  [a b])
user=> (foo 1 {:b 99})
[1 99] ;; :or 不需要
user=> (foo 1 {})
[1 2]  ;; :or 将 b 绑定为 (inc a)


在顺序解构中,绑定是否按顺序执行,以便后续的 :or 值表达式可以依赖前面的顺序绑定?

根据当前解构实现,这是正确的,但在文档和/或测试中寻找这一表述。

1 答案

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