ConfirmBy

ConfirmBy[expr,f]

f[expr]Trueを返すことを確認する.その他の場合は囲い込んでいる直近のEncloseにエラーをスローする.

ConfirmBy[expr,f,info]

expr が確認できないときは,info を評価してスローするエラーにその値を入れる.

ConfirmBy[expr,f,info,tag]

指定のタグを使って任意のエラーをスローする.

詳細

  • ConfirmBy[expr,]は,expr の確認に成功したときは expr を返す.
  • タグが与えられるとConfirmByのスコープは動的になる.その他の場合はスコープが語彙的になる. »
  • info のデフォルト値はNullである.
  • ConfirmByによって生成されたFailureオブジェクトは次のフィールドを含む.
  • "Information"ConfirmBy[expr,f,info,]からの info
    "Expression"ConfirmBy[expr,]からの expr
    "Function"ConfirmBy[expr,f,]からの f
  • これらのフィールドの値は failure["prop"]を使って,あるいは直接Enclose[expr,"prop"]で取り出すことができる.

例題

すべて開くすべて閉じる

  (2)

ConfirmBy[expr,f]は,f[expr]を評価してTrueになる場合は expr を与える:

"foo"は数ではないので,ConfirmByは評価を中止して囲い込んでいるEncloseにエラーをスローする:

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

スコープ  (3)

ConfirmByは,エラーをスローするときは,評価を中止して一致するEncloseに戻る:

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

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

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

アプリケーション  (1)

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

特性と関係  (1)

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

考えられる問題  (3)

ConfirmByにはタグを渡すか語彙的なEncloseの中に置くかしなければならない:

タグなしのConfirmByはシンボルConfirmByのインスタンスをタグ付きの異形で置換することで作用する:

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

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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