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