Enclose
詳細
- Enclose[expr,…]は,評価中にエラーがキャッチされなければ,expr の値を返す. »
- Encloseは,すでに内側のEncloseによってキャッチされたエラーは検知しない.
- タグが与えられていない場合,Encloseはタグなしで語彙的に含まれるすべての確認関数にタグを加える. »
- tag はどのような式でもよい(パターンでもよい).
- Confirm,ConfirmBy,ConfirmMatch,ConfirmQuiet, ConfirmAssertがスローするエラーをキャッチする.
- Encloseは,特殊なタグを持つCatchを効果的に呼び出す.
- f のデフォルト値はIdentityである.
- f が文字列の場合,f[err]の代りに err[f]が返される. »
例題
すべて開く すべて閉じる例 (2)
スコープ (6)
Enclose[2 + 2;Confirm[$Failed];4 + 4, f]"Expression"に f を設定し,エラーを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 の定数関数を与える:
Enclose[2 + 2;Confirm[$Failed];4 + 4, foo&]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: 16-August-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: 16-August-2026]}