以下代码可以正常工作,但在文档中未指定 `(inc a)` 是否可以依赖 `a` 被绑定。
用户=> (defn foo [a {:keys [b] :or {b (inc a)}}]
[a b])
用户=> (foo 1 {:b 99})
[1 99] ;; :or 不需要
用户=> (foo 1 {})
[1 2] ;; :or 将 b 绑定为 (inc a)
在顺序解构中,绑定是否按顺序进行,使得后续 :or 值表达式可以依赖前面的顺序绑定?
根据当前解构实现,这是正确的,但正在寻找文档或测试中这一点的声明。