Re: Laveling solution in package. Problems with context
- To: mathgroup at smc.vnet.net
- Subject: [mg31207] Re: Laveling solution in package. Problems with context
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Fri, 19 Oct 2001 03:11:57 -0400 (EDT)
- References: <9qjjfr$j7u$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Guillerm, Add the line q1;q2; after the line Options[q] = {AI1 -> 0.3 AI, AI2 -> 0.6 AI, AI3 -> 0.1 AI}; This will cause q1and q2 to be created in the context "Test`Test`". You might also wish to have usage messages for q, q1 and q2. One other point: I suggest using opts___?OptionQ instead of opts___Rule. Since options can use RuleDelayed and can be in nested lists. -- Allan --------------------- Allan Hayes Mathematica Training and Consulting Leicester UK www.haystack.demon.co.uk hay at haystack.demon.co.uk Voice: +44 (0)116 271 4198 Fax: +44 (0)870 164 0565 <guillerm at usal.es> wrote in message news:9qjjfr$j7u$1 at smc.vnet.net... > I have a package such as the follow (it is an easy example of the real package). > > BeginPackage["Test`Test`"] > > fTest::"usage" = "fTest gives solution." > > Options[q] = {AI1 -> 0.3 AI, AI2 -> 0.6 AI, AI3 -> 0.1 AI}; > > Begin["`Private`"] > > fTest[int_List, t_, t1_, opts___Rule] := Module[{ic, sol}, > ic = {AI1, AI2} /.{opts} /. Options[q]; > sol = Dot[ic, int]; > Thread[{q1[t1], q2[t1]} -> sol]]; > > End[] > > Protect[fTest]; > > EndPackage[] > > I test the package > > in[]:=fTest[{a1 Exp[-b1 t], a2 Exp[-b2 t]}, t, t1, AI3 -> 0.9 AI] > > out[]:={Test`Test`Private`q1[t1] -> (0.3*a1*AI)/E^(b1*t) + (0.6*a2*AI)/E^ > (b2*t), Test`Test`Private`q2[t1] -> (0.3*a1*AI)/E^(b1*t) + (0.6*a2*AI)/E^(b2*t)} > > Of course, I receive the message that q1[t], q2[t] are defined in a private > context. How can I fix this problem?. > > I know that using fTest[int_List, t_, t1_, q1_, q2_, opts___Rule] the problem > is solved but I can avoid write q1 and q2 in fTest. > > > > > But I wish that the solution will be labeled with q1[t], > q2[t]. > > --------------------------------------------- > This message was sent using Endymion MailMan. > http://www.endymion.com/products/mailman/ > > >