【发布时间】:2011-12-11 22:37:48
【问题描述】:
我正在研究玩具问题,以帮助我吸收 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。然而,事实并非如此。
我对代码的解释有什么问题?
【问题讨论】: