• p?test is a pattern object that stands for any expression which matches p, and on which the application of test gives True.
• Any result for test[pval]
other than True
is taken to signify failure.
• Example: _?NumberQ
represents a number of any type. The _
matches any expression, and ?NumberQ
restricts to any expression which gives True
on application of the number test NumberQ
• The operator ? has a high precedence. Thus _^_?t is _^(_?t) not (_^_)?t.
• In a form such as __?test
every element in the sequence matched by __
must yield True
• New in Version 1.