Confirm

Confirm[expr]

确认 expr 不会被视为失败,否则在最近的 Enclose 中抛出一个错误.

Confirm[expr,info]

如果 expr 没有被确认,则对 info 进行计算,并将其值包含在抛出的错误中.

Confirm[expr,info,tag]

将指定的标记用于任何抛出的错误.

更多信息

  • 如果 expr 被成功确认,Confirm[expr,] 将返回 expr.
  • 如果 expr 具有以下任何一种形式,则 Confirm[expr,] 认为 expr 失败并抛出错误:
  • Failure[]
    Missing[]
    $Failed
    $Canceled
    $Aborted
  • 当给定标签时,Confirm 为动态作用域. 否则它将在词法范围内. »
  • info 的缺省值为 Null.
  • expr 被抛出前封装在 Failure 内,除非 infoNullexpr 是先前确认函数的 Failure. »
  • Confirm 生成的 Failure 对象包括以下字段:
  • "Information"来自 Confirm[expr,info,]info
    "Expression"来自 Confirm[expr,]expr
  • 这些字段的值可以使用 failure["prop"] 或直接通过 Enclose[expr,"prop"] 提取.

范例

打开所有单元关闭所有单元

基本范例  (2)

如果 expr 不被视为失败,则 Confirm[expr] 给出 expr

如果 Confirm 遇到失败,它会停止运算并向周围的 Enclose 抛出错误:

定义一个函数,在其参数中传播失败:

范围  (4)

在抛出错误时,Confirm 停止运算并返回匹配的 Enclose

info 仅在无法确认 expr 时运算:

创建一个函数,调用带有标签的 Confirm,以便可以动态捕获它:

如果不给出标签,则 Confirm 作用于词法范围内:

错误在被抛出之前封装在 Failure 中,除非错误是从另一个确认函数抛出:

info 不是 Null 时,此行为将被否决:

应用  (1)

检测到失败时打印一条消息:

属性和关系  (1)

Confirm 可以用 ConfirmBy 进行模拟:

可能存在的问题  (3)

Confirm 必须被提供一个标签,或者在词法的 Enclose 范围内:

未标记的 Confirm 通过将符号 Confirm 的实例替换为带标记的变体来工作:

带标记的 Confirm 需要一个具有匹配标签的 Enclose

Wolfram Research (2020),Confirm,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Confirm.html.

文本

Wolfram Research (2020),Confirm,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Confirm.html.

CMS

Wolfram 语言. 2020. "Confirm." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/Confirm.html.

APA

Wolfram 语言. (2020). Confirm. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Confirm.html 年

BibTeX

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

BibLaTeX

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