请在 2024 年 Clojure 调查问卷!中分享您的想法。

欢迎!有关这个平台的更多信息,请参阅 关于页面

0
Clojure
如果 assoc-in 能够支持多个键-值对,那会非常好(当参数数量为偶数时抛出错误,就像 assoc 一样)


user=> (assoc-in {} [:a :b] 1 [:c :d] 2)
{:a {:b 1}, :c {:d 2}}
user=> (assoc-in {} [:a :b] 1 [:c :d])
IllegalArgumentException assoc-in 预期在映射/向量之后有偶数个参数,但发现奇数个


*补丁:* clj-1771.patch

*预审者:* Alex Miller

5 个答案

0

由 alex+import 制作的评论

附上简单的补丁。我在 assoc-in 中没有找到任何现有的测试,但如果需要我可以添加它们。

0

由 viebel 制作的评论

为了与 assoc 保持对称性,我希望能修复这个工单

0

由 alexmiller 制作的评论

你是否需要 "if kvs" 检查?

应该有测试。

0

评论者:mjg123

抱歉延迟 - 由于某些原因,我没有从这个 JIRA 收到通知。

补丁现在包括测试。

两个 if 检查都是必要的,因为我们有三种可能的输出结果。
1/ 没有更多 kvs(我们完成了)
2/ 更多 kvs(我们需要递归)
3/ 有一系列的键但没有值(抛出 IAE)

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