|
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.5, Section 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]:= 
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT. SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION. | |