OptionValue

OptionValue[name]

给出选项 name 的值,该选项设置与 OptionsPattern 匹配.

OptionValue[f,name]

给出具有头部 f 的选项 name 的值.

OptionValue[f,opts,name]

从规则 opts 的列表中提取选项值.

OptionValue[,{name1,name2,}]

期望多个选项值.

更多信息

范例

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

基本范例  (1)

定义 f 函数的缺省选项值:

定义 f,允许设置选项:

调用 f,给出一个明确的选项设置:

采用 f 选项的缺省值:

范围  (4)

一次获取多个选项值:

使用明确的选项列表:

使用多个 OptionsPattern 结构定义转换规则:

OptionValue[a] 被视为 OptionValue[f,a],因为它是外标头:

OptionValue 跟踪特殊的选项在哪里被指定:

在第 4 个参数中使用 Hold 返回使用 RuleDelayed 选项的未被计算的形式:

没有 Hold,会返回 $Assumptions 的当前值:

应用  (2)

为函数 f 定义默认选项值:

使用帮助函数 fCore 实现 f,但仍然继承 f 的默认值:

使用 f 的默认选项:

明确选项设置优先级更高:

定义带选项的两个函数:

定义使用两套选项的函数 h,优先级为 g 的默认值:

属性和关系  (4)

当比较选项名称时,上下文被忽略:

字符串和符号是可以互换的:

OptionValue 检查所有要求的选项是否出现在默认设置中:

简单的情况,OptionValue[f,opts,name] 类似于 name/.opts/.Options[f]

然而,OptionValue 执行额外的规范化以确保规则被正确应用:

可能存在的问题  (1)

定义转换规则,其中 OptionsPattern 只出现在不同函数的内部:

OptionValue[a] 不工作,因为 OptionsPattern 不是 f 的参数:

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

文本

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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