Re: Help with Check Function Arguments & Options
- To: mathgroup at smc.vnet.net
- Subject: [mg87268] Re: Help with Check Function Arguments & Options
- From: David Bailey <dave at Remove_Thisdbailey.co.uk>
- Date: Sun, 6 Apr 2008 06:42:04 -0400 (EDT)
- References: <ft7gkq$bve$1@smc.vnet.net>
Andrew Beveridge wrote: > I would like to thank everyone who has previously responded to my > posts. Your advice has helped greatly. > > I have a couple of final questions. > > I am writing a package file and would like to do some argument and > option checking if possible; that is check the number of arguments > and see if there are unknown options. > > If my function has no options I think I can do this. > > f[x_,y_] := x + y > f[args___] := If[Length[{args}] != 2, Message[f::"argrx", f, > Length[{args}], 2]; Return[$Failed]] > > This type of check has been posted to the message board before. > > My question is assume that f[x,y] has multiple options, that is > Options[f] = {opt1 -> 1, opt2 -> True}, etc > > How do I check if the user entered the correct options? > > Thanks again for all of your help. > > Regards, > Andrew > > Andrew C Beveridge > MS M888 > Los Alamos National Laboratory > Los Alamos, NM 87545 > > 505-665-2092 > e-mail: acbev at lanl.gov > > By far the best answer to this is to use the new OptionsPattern and OptionValue features introduced at 6.0 - look them up in the help system. This will separate options from other arguments and check that the options used are actually valid. David Bailey http://www.dbaileyconsultancy.co.uk