无法在使用单个空的选项序列中或在使用单个选项序列和默认子句的情况下使用case。
我期望
bq. (case 1 () :a :none)
返回 :none,然而它却因无信息的异常而失败:"未处理的clojure.lang.ArityException:传递给:core/max的参数数量错误(-2)"
我期望 (case 1 () :a) 因没有匹配的子句而失败:"java.lang IllegalArgumentException:没有匹配的子句",但相反,它也因
"未处理的clojure.lang.ArityException:传递给:core/max的参数数量错误(-2)"而失败
这似乎不一致,因为当有其他选项时,传递空列表是没有问题的
bq. (case 1 () :a 2 :b :none)
返回 :none,符合期望
所附的补丁在进一步转换为case**之前删除了带有空测试列表的测试子句对,并添加了测试。