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

欢迎!请参阅关于页面了解如何工作的更多信息。

0
Collections
名称::or意味着这应该表现得像“或”,应该是“懒”的,但实际上并非如此。
以下代码片段显示了问题。:x存在于映射中,但我们评估默认值。


(defn foo
  [{:keys [x]
    :or {x (println :set-default)}}]
  x)
 
 
 
user> (foo {:x 1})
:set-default
1

3 答案

0

评论由:gshayban发表

1.2 - 当前所有都表现出这种行为,看起来不像最近的更改。

0

评论由:mpenet发表

是的,我以为这可能是一个回归,但并不确定。
看起来更改当前行为应该是安全的,我怀疑它不会破坏任何代码。

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