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

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

0
集合
:or 的名称暗示它应该像 "or" 一样表现并是 "lazy" 的,但当前并非如此。
以下代码片段展示了问题。: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
...