Re: conditional package evaluation
- To: mathgroup at smc.vnet.net
- Subject: [mg6186] Re: [mg6170] conditional package evaluation
- From: Allan Hayes <hay at haystack.demon.co.uk>
- Date: Thu, 27 Feb 1997 02:53:01 -0500
- Sender: owner-wri-mathgroup at wolfram.com
murray at math.umass.edu (Murray Eisenberg) [mg6156] conditional package evaluation writes > What are good ways to accomplish the following (in Mathematica 3.0)? > When a package is loaded, a function in it is going to test the > value of a certain Global` quantity, CheckMe. If the value meets > the test, then the rest of the package is to be evaluated; other- > wise it is not. > The key thing is that I do not want the package's context to be > created if the test is not met. (Otherwise, the package's Private > context could contain the function to make the test.) Murray: A variant of your method works: (* this is the package, not the notebook calling it! *) If[TrueQ[check], BeginPackage["mypackage"`"]; f :: usage = "Message for exported function f"; Begin["`Private`"]; (* other definitions here *) f[x_] := "stuff"; End[]; Print["OK -- functions defined."]; EndPackage[]; , (*else*) Print["check failed"]; ] Note. It is important to have a semicolon at end of each package expression so that new lines are not interpreted as multiplication Allan Hayes hay at haystack.demon.co.uk http://www.haystack.demon.co.uk