TL;DR

  • Clojure には、データの型のチェックに役立つ Spec というライブラリが組み込まれている。
  • s/valid? や s/conform で値やコレクション、マップを検証し、s/explain で失敗の理由を出力できる。
  • 関数の事前条件(:pre)や事後条件(:post)に Spec を使うと、受け取るデータや返すデータを検証できる。

内容

Spec を使うと、事前条件として受け取ったデータが想定どおりの値かを確かめたり、事後条件として返すデータが想定どおりの値かをチェックしたりできる。v1.9 で追加された比較的新しい機能なので、古いドキュメントや記事では使われていないが、データの検証でよく使われる。各節のまとめは次のページにある。

キーワード