OptionsPattern与复合左侧的规则不匹配
2021-02-12 22:07
OptionsPattern是在Mathematica v6中引入的,因此我最终决定试一试程序:Clear@foo;foo[options:OptionsPattern[]]:={options}foo[k2-gt;3]输出:{k2-gt;3]
解答动态
整个问题基于一个错误的前提,即旧式的选择仅仅是武断的规则。事实并非如此,在过去,特殊OptionQ谓词用于区分选项和一般规则。
通过正确的选项测试,您的示例将看起来比如:
Clear@foo;foo[选项\uuuu规则]?OptionQ]:={options}foo[k2-gt;3] 它给出与OptionsPattern[]方法相同的输出。
使用OptionsPattern[]时,k2时的期权价值应该也能用,所以在幕后有点像E
K2/:OptionValue@k2=3 哪个如果k2被f1替换,则失败[k2]:您也会得到一个quot;error.
因此新系统的语法更简单,但通用性较差。- End
免责声明:
本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。
相关搜索