4
我经常需要通过防止某些定义来评估和检查中间结果来进行调试。我通过做initAll;clearAll[f,g,h]
来完成这项工作。因为保持某些模式未评估
- 它迫使你把一切都放在一个初始化块
- 这是不够灵活,只有保持一定的模式,如不计算
f[1]
相反,我想我不喜欢它有一个列表forbidden
模式,并有任何模式匹配左未评估。我怎样才能做到这一点?
编辑 到目前为止,我发现这种模式最有用的(这是迈克尔·派拉特的答案,除了与HoldForm和BlankNullSequence)
eh[expr_, symbols : {___Symbol}] := Block[symbols, [email protected][expr]]
initAll ...? <6 more to go> – 2010-11-23 05:34:17
即,initAll:=(f [x _]:= x^2; p [x _]:= x^3) – 2010-11-23 05:48:38