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的副本,关于在非关联集合上抛出异常

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