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 检查都是必要的,因为我们有3种可能的结果
1/ 没有更多的kvs(我们完成了)
2/ 还有kvs(我们需要递归)
3/ 一系列的键但无值(抛出IAE)

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