Я работаю над игрушечными задачами, чтобы помочь мне усвоить идею сопоставления с образцом в Mathematica. Следующий код ведет себя не так, как я ожидал, и я не мог понять, что не так с моим пониманием PatternTest.
MatchQ[{2, 1, 2, 5}, {x__?(FromDigits[{#}] > 3 &), y__}]
Я ожидал, что этот фрагмент кода проверит, можно ли записать список {2,1,2,5}
как две последовательные (непустые) последовательности, так что целое число, полученное из первого последовательность больше 3. Поскольку {Sequence [2,1], Sequence [2,5]}
- это один из способов переписать список таким образом, чтобы FromDigits [{2,1}]> 3
выполняется, я ожидал, что этот код вернет значение True
. Однако это не так.
Что не так с моей интерпретацией кода?