TL;DR
- Clojure には、データの型のチェックに役立つ Spec というライブラリが組み込まれている。
s/valid?やs/conformで値やコレクション、マップを検証し、s/explainで失敗の理由を出力できる。- 関数の事前条件(
:pre)や事後条件(:post)に Spec を使うと、受け取るデータや返すデータを検証できる。
内容
Spec を使うと、事前条件として受け取ったデータが想定どおりの値かを確かめたり、事後条件として返すデータが想定どおりの値かをチェックしたりできる。v1.9 で追加された比較的新しい機能なので、古いドキュメントや記事では使われていないが、データの検証でよく使われる。各節のまとめは次のページにある。
- Clojure Book 第11章 基本
- Clojure Book 第11章 Spec を自作する
- Clojure Book 第11章 コレクションの Spec
- Clojure Book 第11章 Spec に失敗した理由を出力する
- Clojure Book 第11章 conform 関数
- Clojure Book 第11章 関数の中で Spec を用いる