相关疑难解决方法(0)

可选的命名参数,而不是将它们全部包装在"OptionValue"中

假设我有一个带有可选命名参数的函数,但我坚持用它们的未加工名称来引用这些参数.

考虑这个函数,它添加了两个命名参数a和b:

Options[f] = {a->0, b->0};  (* The default values. *)
f[OptionsPattern[]] := 
  OptionValue[a] + OptionValue[b]
Run Code Online (Sandbox Code Playgroud)

如何编写该函数的一个版本,其中最后一行被简单替换a+b?(想象一下,这a+b是一大堆代码.)

以下问题的答案显示了如何缩写OptionValue(说起来容易做起来),而不是如何完全摆脱它:Mathematica中的可选命名参数

哲学附录:似乎Mathematica将会拥有这种神奇的东西,OptionsPattern并且OptionValue它可能会一路走下去并且有一个语言构造来正确地进行命名参数,你可以通过他们的名字来引用它们.像命名参数的其他语言一样.(与此同时,我很好奇可行的解决办法......)

language-features wolfram-mathematica

4
推荐指数
2
解决办法
432
查看次数