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

欢迎!请参阅关于页面以获取更多关于如何使用此工具的信息。

0
Clojure

(assoc-in {} [] 1) ;=> {nil 1}

这很可能会抛出异常。

CLJ-373有一个补丁(链接:http://dev.clojure.org/jira/secure/attachment/12897/CLJ-373-nested-ops.patch 文件:CLJ-373-nested-ops.patch)该补丁修复了这个问题(在空键路径上抛出异常),修复了 update-in 相关的破坏行为,并在 get-in 等中记录了空键路径的行为。我可以从这个补丁中提取出 assoc-in 的部分,作为一个单独的补丁,但我非常希望一次性解决所有这些问题,也就是说。

(get-in {} [] :notfound) ;=> {} ; ok (get-in {nil 1} [] :notfound) ;=> {nil 1} ; ok (assoc-in {} [] 1) ;=> {nil 1} ; wat? (assoc-in {nil 0} [] 1) ;=> {nil 1} ; wat? (update-in {} [] identity) ;=> {nil nil} ; wat? (update-in {nil 0} [] inc) ;=> {nil 1} ; wat?

1 答案

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