Re: set option flag in function definition
- To: mathgroup at smc.vnet.net
- Subject: [mg128161] Re: set option flag in function definition
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Wed, 19 Sep 2012 05:00:39 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20120918074139.41A2D6853@smc.vnet.net>
ClearAll[f] f::opt = "The argument `1` is not an appropriate option flag. " <> "Please indicate correct option flag (i.e., optionX or optionY)."; f[arg1_, arg2_, arg3_, optionX] = arg1/arg2 + arg3; f[arg1_, arg2_, arg3_, something_] /; If[ TrueQ[something == optionY], True, Message[f::opt, something]; False] := arg1*arg2 - arg3; f[x, y, z, optionX] x/y + z f[x, y, z, optionY] x y - z f[x, y, z, t] f::opt: The argument t is not an appropriate option flag. Please indicate correct option flag (i.e., optionX or optionY). f[x, y, z, t] Bob Hanlon On Tue, Sep 18, 2012 at 3:41 AM, Joug Raw <jougraw at gmail.com> wrote: > > Dear Experts, > > I had one question regarding to the function definition. > > I want to have a function that executes certain operation when I chose the > corresponding option flag. > > For example, > > a function called "f" > > when I call it like f[arg1,arg2,arg3, optionX] > it executes command > arg1/arg2+arg3 > > If I call it like f[arg1,arg2,arg3,optionY] > it executes command > arg1*arg2-arg3 > > If I call it like f[arg1,arg2,arg3,optionSomethingElse] > it returns me > "No appropriate option flag was found. Please indicate correct options" > > This looks a bit like scripts running in UNIX. I am wondering if I can do > the same in Mathematica easily? > > Thank you so much for your kind help! >
- References:
- set option flag in function definition
- From: Joug Raw <jougraw@gmail.com>
- set option flag in function definition