pattern matching
- To: mathgroup at yoda.physics.unc.edu (Mathematica mailing list)
- Subject: pattern matching
- From: nachbar at merck.com
- Date: Thu, 22 Jul 1993 08:31:29 -0500 (EDT)
hi,
i trying to write a function that has a calling sequence similar to
FindMinimum[expr, {x,x0},{y,y0},..., opt1->val1,opt2->val2,...] where
at least {x,x0} must be included and none of the options are required.
so i tried:
In[1]:= MyFunc[data_, k:{_,_}.., opts:Rule[_,_]...]:=
Module[{},
Print[data] ;
Print[{k}] ;
Print[{opts}]
]
In[2]:= MyFunc[{{1,2,3},{4,5,6},{7,8,9}}, {5,4},{5,3},{6,5},{6,4}]
Out[2]= MyFunc[{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, {5, 4}, {5, 3}, {6, 5},
> {6, 4}]
In[3]:= MyFunc[{{1,2,3},{4,5,6},{7,8,9}}, {5,4},{5,3},{6,5},{6,4},
Weighting->True]
{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
{{5, 4}, {5, 3}, {6, 5}, {6, 4}}
{Weighting -> True}
In[4]:=
as you can see, it only works when options are included.
any ideas of what i've missed?\
bob
--
Dr. Robert B. Nachbar | Merck Research Laboratories | 908/594-7795
nachbar at merck.com | R50S-100 | 908/594-4224 FAX
| PO Box 2000 |
| Rahway, NJ 07065 |