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报告)
...