Checking function syntax
- To: mathgroup at smc.vnet.net
- Subject: [mg64555] Checking function syntax
- From: Chris Rodgers <rodgers at physchem.NOSPAMox.aREMOVEc.uk>
- Date: Wed, 22 Feb 2006 05:58:39 -0500 (EST)
- Organization: Oxford University, England
- Sender: owner-wri-mathgroup at wolfram.com
Hi, How can I make my own functions give an error if they are called with the wrong syntax? For example, if I define this function In[37]:= MyFunc1[x_,y_]:=Tuples[{x,y},2] and then Map MyFunc2 over the result In[38]:= Map[MyFunc2,MyFunc1[a,b]] I get this (correct, desired) output. Out[38]= {MyFunc2[{a,a}],MyFunc2[{a,b}],MyFunc2[{b,a}],MyFunc2[{b,b}]} However, if I inadvertently added a third argument In[39]:= Map[MyFunc2,MyFunc1[a,b,c]] then I get this (correct, but undesired) output Out[39]= MyFunc1[MyFunc2[a],MyFunc2[b],MyFunc2[c]] I would prefer to get some sort of error message in the second case, such as the built-in function Sin[...] produces when called with the wrong number of arguments. In[41]:= Sin[1.] Out[41]= 0.841471 In[42]:= Sin[2,3] From In[42]:= Sin::argx : Sin called with 2 arguments; 1 argument is expected. Out[42]= Sin[2,3] Many thanks, Chris.
- Follow-Ups:
- Re: Checking function syntax
- From: jmt <jmt@dxdydz.net>
- Re: Checking function syntax