函数 clojure.spec.test.alpha/check 静默忽略不可检查的符号。这对我来说似乎有些反直觉,因为当我对一个符号调用 check 而该符号没有 spec(例如拼写错误)时,我期望它失败。
check 的定义如下
`
(defn check
([] (check (checkable-syms)))
([sym-or-syms] (check sym-or-syms nil))
([sym-or-syms opts]
(->> (collectionize sym-or-syms)
(filter (checkable-syms opts))
(pmap
#(check-1 (sym->check-map %) opts)))))
`
在我看来,(filter (checkable-syms opts)) 似乎更好,应该加入到无参数变体中。