尝试-Clojure-Spec-的笔记

工具当中需要检测数据格式, 试着用了一下 Clojure Spec.如果英文好, 直接看文档就行了, 也不用这篇笔记, 太琐碎了, 也缺失例子...https://clojure.org/guides/sp... 首先添加依赖, 因为我在 ClojureScript 当中用, 所以用了 cljs.spec 这个代码.expound 是一个用于美化 Spec 输出的类库, 直接引用进来. [cljs.spec.alpha :as s][expound.alpha :refer [expound]]首先是一个很简单觉得例子, 有 s/valid? 判断数据是否符合格式.首先用 s/def 定义好一个校验的规则, 其中 ::example 会按照命名空间展开. (s/def ::example boolean?)(println (s/valid? ::example 1)) ; false(println (s/valid? ::example true)) ; true基础的校验用的是函数, 也可以是 string?. s/conform 表示返回输出的值.. 当然这个是正确的情况, 返回了匹配到的字符串, (s/def ::example string?)(println (s/conform ::example "DEMO")) ; DEMO如果不匹配, 返回值就是 invalid, (println (s/conform number? "")):cljs.spec.alpha/invalid可以通过 s/explain 来打印失败的原因, ...

June 5, 2019 · 3 min · jiezi