追踪表达遍历
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]=