Bill Allombert on Mon, 18 Mar 2013 16:14:25 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: function defaults |
On Sat, Mar 09, 2013 at 09:20:57PM -0500, Charles Greathouse wrote: > In cases like this I just write > > foo(a=-1, b=-1)={ > if(a==-1 || b==-1, error()); > \\ code > } > > where -1, [], etc. is chosen as an argument which could not be valid for > the function. You can do even better: req(x)=error("missing mandatory argument ",x); foo(a=req("a"), b=req("b"))= { \\code } ? foo(1) *** at top-level: foo(1) *** ^------ *** in function foo: a=req("a"),b=req("b") *** ^-------- *** in function req: error("missing manda *** ^-------------------- *** user error: missing mandatory argument b Cheers, Bill.