Re: Programming with options.
- To: mathgroup at smc.vnet.net
- Subject: [mg68064] Re: [mg68037] Programming with options.
- From: Sseziwa Mukasa <mukasa at jeol.com>
- Date: Fri, 21 Jul 2006 17:36:00 -0400 (EDT)
- References: <200607210937.FAA06857@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On Jul 21, 2006, at 5:37 AM, MaxArt wrote:
> Hi,
> I want to create some new functions in Mathematica (4.0), and I
> want it to
> work with options like Plot and other graphic functions. The idea
> behind
> this is to modify the result and the behaviour of my functions when
> extra
> arguments are given, and I thought that the use of options would be
> perfect.
> For example, if I want to create a function Pow that gives the
> square of a
> number, except when an option Exponent is given, so that Pow[a,
> Exponent ->
> 3] yields a^3.
>
> How can I do that?
It is best not to capitalize your own expression names to avoid name
collisions, for example Exponent is already a built in Mathematica
symbol. That said, here's how I usually implement such a system:
Options[pow]={exponent->None};
pow[a_,opts___?OptionQ]:=Block[{exp},exp=exponent/.{opts}/.Options
[pow]/.None->2;a^exp]
In[11]:=
pow[3]
pow[3,exponent->3]
Out[11]=
9
Out[12]=
27
Regards,
Ssezi
- References:
- Programming with options.
- From: "MaxArt" <maxart.yZEROSPAM@tiscali.it>
- Programming with options.