Siga a sequência de processamento de uma expressão
Echo e EchoFunction permitem reportar a ordem na qual elementos de uma expressão são sequencialmente visitados durante a concordância de padrões.
Observe a ordem na qual Cases visita partes do primeiro nível de uma expressão.
In[1]:=
![Click for copyable input](assets.pt-br/follow-expression-traversals/In_24.png)
Cases[{a, 2, {7, {1, b}}, 0}, x_ /; NumberQ[Echo[x]]]
»
![](assets.pt-br/follow-expression-traversals/O_21.png)
»
![](assets.pt-br/follow-expression-traversals/O_22.png)
»
![](assets.pt-br/follow-expression-traversals/O_23.png)
»
![](assets.pt-br/follow-expression-traversals/O_24.png)
Out[1]=
![](assets.pt-br/follow-expression-traversals/O_25.png)
Visite todos os níveis da mesma expressão.
In[2]:=
![Click for copyable input](assets.pt-br/follow-expression-traversals/In_25.png)
Cases[{a, 2, {7, {1, b}}, 0}, x_ /; NumberQ[Echo[x]], All]
»
![](assets.pt-br/follow-expression-traversals/O_26.png)
»
![](assets.pt-br/follow-expression-traversals/O_27.png)
»
![](assets.pt-br/follow-expression-traversals/O_28.png)
»
![](assets.pt-br/follow-expression-traversals/O_29.png)
»
![](assets.pt-br/follow-expression-traversals/O_30.png)
»
![](assets.pt-br/follow-expression-traversals/O_31.png)
»
![](assets.pt-br/follow-expression-traversals/O_32.png)
»
![](assets.pt-br/follow-expression-traversals/O_33.png)
»
![](assets.pt-br/follow-expression-traversals/O_34.png)
Out[2]=
![](assets.pt-br/follow-expression-traversals/O_35.png)