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

欢迎!请参阅关于页面以了解更多如何使用本网站的信息。

0
Collections
:or 名称暗示该行为应类似于 "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 报告)
...