Re: Different Methods inside one package. More details
- To: mathgroup at smc.vnet.net
- Subject: [mg33722] Re: Different Methods inside one package. More details
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 10 Apr 2002 00:49:02 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <a8ttp0$foh$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi, add a usage message. EV::usage="EV is a possible value for the Method option of methodTest1." or use the full context path and write methodTest1[A,inti,Method->test`test1`Private`EV] Regards Jens "J. Guillermo Sanchez" wrote: > > (* Dear friends, > I find that this pattern is mush better that the message that I post a > few hours ago. > I wish build a package where the user, as one option, can be choose one > of three methods of evaluation, i.e: Automatic, LT or EV. Some thing > like the silly example that follow. It works, I will appreciate any idea > to enhanced it , i.e.: I need write EV and LT before Begin["`Private`"], > how can avoid write its? .*) > > BeginPackage["test`test1`"] > > methodTest1::usage="SystemDSolve1. This is an example" > > EV;LT; (*How can avoid write its?*) > > Options[methodTest1]={Method\[Rule]Automatic}; > > Begin["`Private`"] > > methodTest1[matrixA_, incond_, opts___]:= > Module[{a, b, r, Opts},Opts= Method/.{opts}/.Options[methodTest1]; > Which[Opts=== Automatic,(a = matrixA; b = incond; r = a > / b), > Opts=== LT,(a = matrixA; b = incond; r = a + b), > Opts=== EV,(a = matrixA; b = incond; r = a - b)]] > > End[] > > Protect[methodTest1]; > > EndPackage[] > > list1 ={{a11, a12 },{a21,a22}} > > list2 = {b1, b2} > > methodTest1[list1,list2] > > methodTest1[list1,list2, Method\[Rule]LT] > > methodTest1[list1,list2, Method\[Rule]EV]