いきなりまとめ 関数 用途 require 関数の引数のチェックに使う。 check 関数の引数以外のチェックに使う。 assert どこに使ってもよい。 実行時の VM 引数として -ea (-enableassertions) が必要。 背景 Kotlin には、引数として Boolean 型を取って、その引数が false であるときプログラムの実行を中止するような関数として require, check, assert の3つが存在する。本記事ではこれらの違いを述べる。 ついでにこれらの関数が何のために存在するのかも述べる。 "表明" という概念 プログラミングの重要な概念として「表明 (assertion)」という考え方がある。 ざっくり言うと、表明とは、プログラムの実行時に変数が満たすべき条件をコードとして表現することである。 たとえば「変数 i は負でない」とか「配列 a と
![Kotlin の require, check, assert 関数の使い分け - プログラムを自動生成したい](https://cdn-ak-scissors.b.st-hatena.com/image/square/ec1142d225b357d225974439c972712d63e7df2a/height=288;version=1;width=512/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F7%2F74%2FKotlin_Icon.png)