追踪表达遍历
Echo 和 EchoFunction 可以报告在模式匹配过程中表达式元素被依次访问的顺序.
观察 Cases 访问表达式第一层部分的顺序.
In[1]:=

Cases[{a, 2, {7, {1, b}}, 0}, x_ /; NumberQ[Echo[x]]]
»

»

»

»

Out[1]=

访问相同表达式的所有层.
In[2]:=

Cases[{a, 2, {7, {1, b}}, 0}, x_ /; NumberQ[Echo[x]], All]
»

»

»

»

»

»

»

»

»

Out[2]=
