Traversierungen eines Ausdrucks verfolgen
Echo und EchoFunction ermöglichen es, die Reihenfolge, in der die Ausdruckselemente während des Pattern Matching-Verfahrens durchlaufen werden, anzugeben.
Untersuchen Sie die Reihenfolge, in der Cases Teile der ersten Ebene eines Ausdrucks durchläuft.
In[1]:=
![Click for copyable input](assets.de/follow-expression-traversals/In_24.png)
Cases[{a, 2, {7, {1, b}}, 0}, x_ /; NumberQ[Echo[x]]]
»
![](assets.de/follow-expression-traversals/O_21.png)
»
![](assets.de/follow-expression-traversals/O_22.png)
»
![](assets.de/follow-expression-traversals/O_23.png)
»
![](assets.de/follow-expression-traversals/O_24.png)
Out[1]=
![](assets.de/follow-expression-traversals/O_25.png)
Berücksichtigen Sie alle Ebenen deselben Ausdrucks.
In[2]:=
![Click for copyable input](assets.de/follow-expression-traversals/In_25.png)
Cases[{a, 2, {7, {1, b}}, 0}, x_ /; NumberQ[Echo[x]], All]
»
![](assets.de/follow-expression-traversals/O_26.png)
»
![](assets.de/follow-expression-traversals/O_27.png)
»
![](assets.de/follow-expression-traversals/O_28.png)
»
![](assets.de/follow-expression-traversals/O_29.png)
»
![](assets.de/follow-expression-traversals/O_30.png)
»
![](assets.de/follow-expression-traversals/O_31.png)
»
![](assets.de/follow-expression-traversals/O_32.png)
»
![](assets.de/follow-expression-traversals/O_33.png)
»
![](assets.de/follow-expression-traversals/O_34.png)
Out[2]=
![](assets.de/follow-expression-traversals/O_35.png)