是什么导致" java.lang.IllegalArgumentException:没有为key&#34提供任何值;?

时间:2017-10-31 13:58:02

标签: clojure destructuring

我有形状代码

(let [{foo :foo} (make-foo)] ...)

此代码偶尔会发出java.lang.IllegalArgumentException: No value supplied for key: {:foo "foo" :other "other"}

我已经看过Clojure : "java.lang.IllegalArgumentException: No value supplied for key:" when I changed require,但是自从上次工作以来,我还没有改变我的计划要求。

"为键#34提供的值没有可能的原因是什么?例外吗

1 个答案:

答案 0 :(得分:10)

当您尝试从奇数个键/值条目创建映射时会发生这种情况:最后一个键缺少值。可能发生这种情况的一种方法是在解构非地图集合但将其视为地图时,因为在将其解构为普通地图之前,这会隐式地为您创建集合中的地图。