当您使用错误数量的参数调用关键字时,错误信息未报告传递了多少参数
(:kw "one" "two" "three") => java.lang.IllegalArgumentException: 向关键字传入错误数量的参数::kw
比较调用一个{{IFn}},它确实显示了传递的参数数量
(name "one" "two" "three") => clojure.lang.ArityException: 传递给 core/name 的参数数量错误(3)
后者错误信息更清晰,并使调试更简单。
附带的补丁重新使用了在其他地方用于生成错误信息的{{ArityException}}类,在调用关键字时使用后者形式生成错误信息。
解决 CLJ-1067
修复: keyword-arity-exception-03.patch
审查: Alex Miller