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 预期在 map/vector 后的参数数量为偶数,但找到奇数个


*补丁:* 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](https://clojure.atlassian.net/browse/CLJ-1771)(由glittershark报告)
...