I am working on toy problems to help me assimilate the idea of pattern matching in Mathematica. The following code does not behave as I expected, and I could not figure out what is wrong with my understanding of PatternTest.
MatchQ[{2, 1, 2, 5}, {x__?(FromDigits[{#}] > 3 &), y__}]
I expected this piece of code to check if the list {2,1,2,5}
can be written as two consecutive (non-empty) sequences such that the integer we get from the first sequence is greater than 3. Since {Sequence[2,1],Sequence[2,5]}
is one way to rewrite the list such that FromDigits[{2,1}] > 3
holds, I expected that code to return the value True
. However, that is not the case.
What is wrong with my interpretation of the code?