Mathematica 9 is now available
 Documentation / Mathematica / Built-in Functions / Programming / Pattern Matching  /
Condition

  • patt /; test is a pattern which matches only if the evaluation of test yields True.
  • lhs :> rhs /; test represents a rule which applies only if the evaluation of test yields True.
  • lhs := rhs /; test is a definition to be used only if test yields True.
  • Example: The pattern x_ /; x > 0 represents an expression which must be positive.
  • All pattern variables used in test must also appear in patt.
  • Example: f[x_] := fp[x] /; x > 1 defines a function in the case when .
  • lhs := Module[ vars , rhs /; test ] allows local variables to be shared between test and rhs. You can use the same construction with Block and With.
  • See the Mathematica book: Section 2.3.5Section 2.5.8.
  • See also: If, Switch, Which, PatternTest.

    Further Examples

    This gives a definition for a function fac that applies only when its argument n is positive.

    In[1]:=

    Here is a polynomial that is defined differently for positive and negative argument.

    In[2]:=

    Evaluate the cell to see the graphic.

    In[3]:=



    Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
    THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
    SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.