ConfirmAssert

ConfirmAssert[test]

testTrueであることを確認する.それ以外の場合は囲い込んでいる直近のEncloseにエラーをスローする.

ConfirmAssert[test,info]

testTrueではない場合は,info を評価してその値をスローするエラーに入れる.

ConfirmAssert[test,info,tag]

スローされる任意のエラーに指定されたタグを使う.

詳細

  • ConfirmAssert[]は,常にNullを返す.
  • ConfirmAssertのスコープは,タグが与えられた場合は動的である.それ以外の場合は語彙的である. »
  • info のデフォルト値はNullである.
  • ConfirmAssertによって生成されたFailureオブジェクトには,以下のフィールドが含まれる.
  • "Information"ConfirmAssert[test,info,]からの info
    "Test"ConfirmAssert[test,]からの expr
  • これらのフィールドの値は failure["prop"]を使ってまたはEnclose[expr,"prop"]で直接取り出すことができる.

例題

すべて開くすべて閉じる

  (2)

アサーションが真であると確認する:

アサーションが失敗した場合は,評価を中止して囲んでいるEncloseにエラーをスローする:

引数をチェックする関数を作成する:

スコープ  (3)

ConfirmAssertは,エラーをスローした場合は評価を中止して一致するEncloseに戻る:

info は,expr が確認できないときしか評価されない:

動的にキャッチできるようにタグでConfirmAssertを呼び出す関数を作成する:

タグがないとConfirmAssertのスコープは語彙的になる:

アプリケーション  (1)

失敗を検出するとメッセージを出力する:

特性と関係  (2)

ConfirmAssertConfirmByConfirmMatchでエミュレートできる:

ConfirmAssert[f[expr]]は,事実上,expr ではなくNullを返す点を除いて,ConfirmBy[expr,f]と等しい:

考えられる問題  (3)

ConfirmAssertには,タグを与えるか語彙的Encloseの中に置くかしなければならない:

タグなしのConfirmAssertは,シンボルConfirmAssertのタグ付きの異形のインスタンスで置換されることで動作する:

タグ付きのConfirmAssertには,一致するタグを持つEncloseが必要である:

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

テキスト

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

CMS

Wolfram Language. 2020. "ConfirmAssert." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ConfirmAssert.html.

APA

Wolfram Language. (2020). ConfirmAssert. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ConfirmAssert.html

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_confirmassert, organization={Wolfram Research}, title={ConfirmAssert}, year={2020}, url={https://reference.wolfram.com/language/ref/ConfirmAssert.html}, note=[Accessed: 22-November-2024 ]}