Mathematica 中函数选项与默认值相关的若干问题。

默认选值

Options[f] 中默认值引用了未求值的符号时,可能导致选项值异常。

选项与默认值

OptionsPatternOptionValue 配合使用,但某些 DownValue 形式下,OptionValue 无法正确读取用户传入的选项。可参考「函数选项的一个问题」中的 UpValue、FilterRules 等解法。

总结

选项的默认值与用户传入值、求值顺序有关;需结合具体函数定义形式选择合适写法。