默认情况下,如果我对两者和模式使用相同的名称,Mathematica会抛出一条警告消息:BlankBlankSequence
f[{x_, ___} | x__] := g[x]
Run Code Online (Sandbox Code Playgroud)
Pattern::patv: Name x used for both fixed and variable length patterns. >> Pattern::patv: Name x used for both fixed and variable length patterns. >>
然而,这个功能正如我所愿:
f[{1, 2, 3}]
f[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
g[1]
g[1, 2, 3]
因此,使用Off[Pattern::patv]和使用是否安全?
我知道各种不同的,更冗长的方法可以完成同样的任务,我不想分析它们各自的优点.我只对这个具体的安全感兴趣.