Assert
Assert[test]
test がTrueであるというアサーションを表す.アサーションが有効になると,アサーションがあるたびに test が評価される.test がTrueでなければ,アサーションの失敗が生成される.
Assert[test,tag]
アサーションが失敗した場合にそれを指し示すタグを指定する.
詳細
- アサーションはしばしばコードに置かれ,プログラマーの想定を表しチェックする.
- デフォルトで,通常のWolfram言語セッションではアサーションは無効になっているが,Wolframシステムデバッガでは有効になっている.
- On[Assert]とするとWolfram言語セッションでのアサーションが有効になり,アサーションが失敗するたびにメッセージが表示されるようになる.
- Assertがファイルに含まれていると,そのファイル名とアサーションがある行番号がアサーションのタグとして自動的に使われる.
- Wolfram言語デバッガでは,アサーションが失敗するとデフォルトでブレークポイントが作られる.
- $AssertFunctionは test を評価してもTrueにならない場合にAssert[test,…]に適用する関数を与える.
例題
例 (3)
計算の進行に伴う一時的な結果に依存するアサーションを含む関数を定義する:
アサーションが無効になっているので,以下ではアサーションのテストは行われない:
Onでアサーションが有効になるとメッセージが出される:
アサーション付きの関数を含むパッケージをロードすると,パッケージ名と行番号が記憶される:
次は,行の情報とパッケージ名がAssert式にどのように保存されているかを示している:
これで,一旦アサーションがトリガされるとパッケージ名とアサーションの場所を示す行番号がメッセージで示されるようになる:
アサーションが失敗する場合には$AssertFunctionに割当てを行って動作を変更することができる.この関数はアサーションが失敗すると例外を投げる:
テキスト
Wolfram Research (2010), Assert, Wolfram言語関数, https://reference.wolfram.com/language/ref/Assert.html.
CMS
Wolfram Language. 2010. "Assert." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Assert.html.
APA
Wolfram Language. (2010). Assert. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Assert.html