(rontolisp) docs
← エラー

assert

(assert test) / (assert test msg)

テストが真なら nil、そうでなければ Exception の catch が捕捉しない AssertionError をシグナルします。メッセージは Assert failed: <form>、メッセージ付きなら Assert failed: <msg>\n<form> で、失敗したフォームは oracle と同様に readable に出力されます。 メッセージは else 節にあるため、失敗時にのみ評価されます -- oracle と同様に遅延します。 and/or と同様に、assert に関数値はありません。

assert はオラクルのマクロと同様に展開される時点の *assert* を読みます。トップレベルの (set! *assert* false)(または nil)の後の assert は、トップレベルで true に戻すまで テストもメッセージも評価せず nil になります。assert を囲む *assert* の binding は 何も変えません。

nil