[トップ][編集][ノート][編集履歴][一覧][最近の更新][->English]

HSPHelp:assert


assert

assert p1

p1(0) : デバッグ時の条件式

説明

assert命令はスクリプトを実行したときに、スクリプト中からデバッグウィンドウを開いて、プログラムの処理を停止させる命令です。
p1を省略するか、p1で指定した条件が正しくない時にデバッグウィンドウを開いてプログラムの処理を停止します。

「デバッグ時の条件式」というのが慣れないと分かりにくいので、簡単なサンプルを紹介します。

randomize
repeat
        wait 10
        n = rnd(10)
        d = rnd(10)
        assert d
        mes ""+n+"/"+d+"="+(n/d)
loop

これは割り算の式と答えを表示するプログラムです。
コンピュータは分母が0で除算・剰余算を行うとエラーになります。
「assert d」でdが0でないことをチェックしています。
デバッグ中にdが0になると0は偽りなのでデバッグウィンドウが表示され、プログラムがエラーの前に停止するようになります。

ただしassert命令は実行ファイルを作成するときは取り消されるので、このまま実行ファイルを作成し、実行ファイルを実行した場合はエラーになります。
実際にゼロ除算を回避するにはif文でチェックする必要があります。

assertはあくまでデバッグ時の簡易チェックのための命令です。

備考

ver3.0標準命令