Enclose
詳細
- Enclose[expr,…]は,評価中にエラーがキャッチされなかったときは expr の値を返す.
- Encloseは,内側のEncloseですでにキャッチされているエラーはキャッチしない.
- Encloseのスコープは,タグが与えられていない場合は語彙的になり,タグが与えられている場合は動的になる.Enclose[expr]は,したがって,式 expr に語彙的に現れるConfirm等のインスタンスだけを処理する.expr の処理中に遭遇したConfirm等のインスタンスは処理しない.
- tag は,パターンを含む任意の式でよい.
- Encloseは,Confirm,ConfirmBy,ConfirmMatch,ConfirmQuiet,ConfirmAssertがスローしたエラーをキャッチする.
- Encloseは,事実上特殊なタグでCatchを使う.
- Enclose[expr,f,…]の中の f のデフォルト値はIdentityである.
- Enclose[expr,"prop"]でリクエストできる特性は,スローされたエラーによって異なる. »
例題
すべて開く すべて閉じる例 (2)
スコープ (6)
Enclose[2 + 2;Confirm[$Failed];4 + 4, f]f を"Expression"に設定して,エラーをFailureで包み込まずに伝播する:
Enclose[f[Confirm[Missing["NA"]]], "Expression"]最も内側のEncloseが最優先される:
Enclose[a;
Enclose[b;
Confirm[$Failed];
c];
d]タグを使ってエラーを外側のEncloseに渡す:
Enclose[a;Enclose[b;Confirm[$Failed, None, "tag"];c];d, Identity, "tag"]エラーが発生した場合に固定値を返すために,f に定数関数を与える:
recip[x_] := Enclose[1 / ConfirmBy[x, GreaterThan[0] @* Abs], Missing[]&]recip[2]recip[0]addtwo[x_] := Enclose[Confirm[x] + 2]
framedAddtwo[x_] := Enclose[Framed[Confirm[addtwo[x]]]]framedAddtwo[5]framedAddtwo[$Failed]Enclose[f[ConfirmBy[ConfirmMatch[x, _Integer], EulerPhi[#] > 3&]]]アプリケーション (3)
失敗する可能性のある関数を安全に呼び出し,エラーを変更せずに伝播する:
cityPopulation[s_] := Enclose[Confirm[Interpreter["City"][s]]["Population"], "Expression"]cityPopulation["nyc"]cityPopulation["null island"]Short[Enclose[Confirm[#[[1]]] / Confirm[#[[2]]], Missing[]&]& /@ EntityValue["Country", {"GDP", "Population"}]]BoundaryMeshRegionが使用できない多面体を無視して,頂点のすべてのペアの間に辺があるすべての多面体を検索する:
Keys[Select[EntityValue["Polyhedron", "BoundaryMeshRegion", "EntityAssociation"], Enclose[CompleteGraphQ[MeshConnectivityGraph[Confirm[#], 2]], False&]&]]テキスト
Wolfram Research (2020), Enclose, Wolfram言語関数, https://reference.wolfram.com/language/ref/Enclose.html.
CMS
Wolfram Language. 2020. "Enclose." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Enclose.html.
APA
Wolfram Language. (2020). Enclose. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Enclose.html
BibTeX
@misc{reference.wolfram_2026_enclose, author="Wolfram Research", title="{Enclose}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/Enclose.html}", note=[Accessed: 10-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_enclose, organization={Wolfram Research}, title={Enclose}, year={2020}, url={https://reference.wolfram.com/language/ref/Enclose.html}, note=[Accessed: 10-September-2026]}