Estoy trabajando en problemas de juguetes para ayudarme a asimilar la idea de la coincidencia de patrones en Mathematica. El siguiente código no se comporta como esperaba, y no pude entender qué está mal con mi comprensión de PatternTest.Un comportamiento inesperado de PatternTest en Mathematica
MatchQ[{2, 1, 2, 5}, {x__?(FromDigits[{#}] > 3 &), y__}]
I espera que este pedazo de código para comprobar si la lista {2,1,2,5}
se puede escribir como dos (no-vacío) secuencias consecutivas de tal manera que el número entero que obtenemos de la primera secuencia es mayor que 3. Desde {Sequence[2,1],Sequence[2,5]}
es uno forma de reescribir la lista de modo que FromDigits[{2,1}] > 3
se mantenga, esperaba que el código devolviera el valor True
. Sin embargo, este no es el caso.
¿Qué hay de malo en mi interpretación del código?
Eso fue muy rápido! +1 –
@Leonid: ¡El poder de la procrastinación no conoce límites! – Simon
Creo que la respuesta se escribió más rápido de lo que hice un comentario, más o menos al mismo tiempo. –