【发布时间】:2011-06-08 15:19:52
【问题描述】:
假设我有一个带有可选命名参数的函数,但我坚持通过它们的朴素名称来引用这些参数。
考虑这个添加了两个命名参数 a 和 b 的函数:
Options[f] = {a->0, b->0}; (* The default values. *)
f[OptionsPattern[]] :=
OptionValue[a] + OptionValue[b]
我如何编写该函数的一个版本,其中最后一行被简单地替换为a+b?
(想象一下 a+b 是一大堆代码。)
以下问题的答案显示了如何缩写OptionValue(说起来容易做起来难),而不是如何完全摆脱它:Optional named arguments in Mathematica
哲学附录:看起来如果 Mathematica 将拥有 OptionsPattern 和 OptionValue 的魔力,它还不如一路走下去,并有一个语言结构来正确处理命名参数,你可以在其中引用它们你知道,他们的名字。就像所有其他具有命名参数的语言一样。 (与此同时,我很好奇有什么变通办法……)
【问题讨论】:
标签: language-features wolfram-mathematica