评论者:jcr
请使用sumtypes代替“魔法”值来表示失败或成功。例如,
(s/conform any? ::s/invalid) ;=> [:ok ::s/invalid] (s/conform int? ::s/invalid) ;=> [:failure #::s{:problems ... :spec ... :value ...}]
注意,为了使用{{key}}和{{val}},返回值应该是clojure.lang.MapEntry的实例。然而,如果不能返回失败时的explain-map,则返回向量{{[:ok value]}}和{{[:failure]}}(没有第二个元素)也将有效。
由于spec处于显式alpha状态,现在修复API还为时不晚。
相关:CLJ-2115