MathGroup Archive 2010

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

Search the Archive

Contexts and Block

  • To: mathgroup at smc.vnet.net
  • Subject: [mg108782] Contexts and Block
  • From: Chris Degnen <degnen at cwgsy.net>
  • Date: Wed, 31 Mar 2010 05:27:45 -0500 (EST)

I have some code which reads in rules using variable names that
already exist, e.g. a and b.  I used Block to achieve the replacement
instructions, but was surprised to have to use BeginPackage and Begin
again to get the context right.  Can anybody comment on what's going
on here?


BeginPackage["Test`"];
TestFunction::usage = "Testing contexts";
Begin["`Private`"];
TestFunction[] := Module[{},

   a = 1;
   b = 1;

   BeginPackage["Test`"];
   Begin["`Private`"];

   Block[{a, b},
    x = Get["x.dat"];
    a2 = a /. x;
    b2 = b /. x;];

   End[];
   EndPackage[];

   Return[{a2, b2}]];

End[];
EndPackage[];

x = {a -> "one", b -> "two"};
x >> x.dat;
TestFunction[]


  • Prev by Date: How to do numerical computations?
  • Next by Date: Manipulate[] and ticks --- offset to avoid collision?
  • Previous by thread: How to do numerical computations?
  • Next by thread: Re: Contexts and Block