Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

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

Search the Archive

Re: namespace collision [bug]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg68741] Re: namespace collision [bug]
  • From: "Norbert Marxer" <marxer at mec.li>
  • Date: Thu, 17 Aug 2006 04:18:54 -0400 (EDT)
  • References: <ebujoc$6k9$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

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]