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

欢迎!请参阅关于页面,了解更多关于它是如何工作的信息。

0
错误

当我意外地将函数返回的列表传递给 update-in 而不是向量时,这个让我感到困惑。

示例

`
some-app.core=> (update-in [:a :b :c] [1] name)
[:a "b" :c]
some-app.core=> (update-in '(:a :b :c) [1] name)

NullPointerException clojure.core/name (core.clj:1518)
`

如果传递了另一个函数,也会得到类似的结果;例如

`
some-app.core=> (update-in ["a" "b" "c"] [1] str/capitalize)
["a" "B" "c"]
some-app.core=> (update-in '("a" "b" "c") [1] str/capitalize)

NullPointerException clojure.string/capitalize (string.clj:199)
`

2 个答案

0

评论者:alexmiller

我认为这实际上是与 CLJ-1107 重复,关于在非关联集合中进行 get 抛出异常的问题吗?

0
参考: https://clojure.atlassian.net/browse/CLJ-1672 (由 alex+import 报告)
...