Assert

Assert[test]

testTrueであるというアサーションを表す.アサーションが有効になると,アサーションがあるたびに test が評価される.testTrueでなければ,アサーションの失敗が生成される.

Assert[test,tag]

アサーションが失敗した場合にそれを指し示すタグを指定する.

詳細

  • アサーションはしばしばコードに置かれ,プログラマーの想定を表しチェックする.
  • デフォルトで,通常のWolfram言語セッションではアサーションは無効になっているが,Wolframシステムデバッガでは有効になっている.
  • On[Assert]とするとWolfram言語セッションでのアサーションが有効になり,アサーションが失敗するたびにメッセージが表示されるようになる.
  • Assertがファイルに含まれていると,そのファイル名とアサーションがある行番号がアサーションのタグとして自動的に使われる.
  • Wolfram言語デバッガでは,アサーションが失敗するとデフォルトでブレークポイントが作られる.
  • $AssertFunctiontest を評価してもTrueにならない場合にAssert[test,]に適用する関数を与える.

例題

  (3)

計算の進行に伴う一時的な結果に依存するアサーションを含む関数を定義する:

アサーションが無効になっているので,以下ではアサーションのテストは行われない:

Onでアサーションが有効になるとメッセージが出される:

アサーション付きの関数を含むパッケージをロードすると,パッケージ名と行番号が記憶される:

次は,行の情報とパッケージ名がAssert式にどのように保存されているかを示している:

これで,一旦アサーションがトリガされるとパッケージ名とアサーションの場所を示す行番号がメッセージで示されるようになる:

アサーションを無効にする:

アサーションが失敗する場合には$AssertFunctionに割当てを行って動作を変更することができる.この関数はアサーションが失敗すると例外を投げる:

以下ではアサーション関数が投げた例外がキャッチされている:

Wolfram Research (2010), Assert, Wolfram言語関数, https://reference.wolfram.com/language/ref/Assert.html.

テキスト

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

BibTeX

@misc{reference.wolfram_2024_assert, author="Wolfram Research", title="{Assert}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/Assert.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_assert, organization={Wolfram Research}, title={Assert}, year={2010}, url={https://reference.wolfram.com/language/ref/Assert.html}, note=[Accessed: 21-November-2024 ]}