MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: namespace collision [bug]


Hello

If you use a relative path (i.e. insert ` before "Private`"), i.e.

Begin["`Private`"];

twice in your code, then everything should work:

funA[5]
funB[5]
funC[5]

will give:

120
you called funB
you called funC

I hope this is what you wanted.

Best Regards
Norbert Marxer
www.mec.li


Chris Chiasson wrote:
> As far as I know, a named pattern created inside the A`Private`
> context should not interfere with the definition of a symbol with the
> same name from B`. Will someone verify this as a bug? Will someone
> please provide a workaround?
>
> In[1]:=
> BeginPackage["A`"];
> funA::usage="";
> Begin["Private`"];
> funA[funB_]:=funB!;
> End[];
> EndPackage[];
> BeginPackage["B`"];
> Off[General::spell1];
> funB::usage="";
> funC::usage="";
> Begin["Private`"];
> funB[_]:="you called funB";
> funC[_]:="you called funC";
> End[];
> EndPackage[];
>
> In[16]:=
> funB[5]
>
> Out[16]=
> funB[5]
>
> In[17]:=
> funC[5]
>
> Out[17]=
> you called funC
>
> In[18]:=
> $Version
>
> Out[18]=
> 5.2 for Microsoft Windows (June 20, 2005)
> 
> -- 
> http://chris.chiasson.name/


  • Prev by Date: Re: perplexed by blank sequence in pattern replacement
  • Next by Date: word problem
  • Previous by thread: Re: namespace collision [bug]
  • Next by thread: Re: namespace collision [bug]