我得到了一个java.lang.IllegalArgumentException: No value supplied for key:
在我的 Clojure 代码中。
我知道当我尝试解构作为参数传递的映射中的键时会发生这种情况。
然而,奇怪的是这个函数多年来一直运行良好,并且数据相同。唯一不同的是我现在导入函数的方式
这是错误:
Caused by: java.lang.IllegalArgumentException: No value supplied for key:
{:style {:color [255 150 150 255], :stroke-weight 2}, :points [[-1 0] [0 -1] [1 0] [0 1] [-1 0]]}
这是抛出它的函数。
(defn scale
[val {:keys [style points]}]
{:style style
:points (scale-shape val points)})
换句话说,我要求地图包含名为style
and points
并且它被赋予了一个包含名为的键的映射style
and points
.
这段代码几个月来一直运行良好。
不同的是我现在用它来调用它sshapes/scale
where sshapes
被导入:
(:require [patterning.sshapes :as sshapes])
而以前我只是将其称为scale
规模进入命名空间的地方使用
(:require [patterning.sshapes :refer :all])
这会导致这种错误吗?