Re: Run Package vs Needs
- To: mathgroup at smc.vnet.net
- Subject: [mg110653] Re: Run Package vs Needs
- From: "David Park" <djmpark at comcast.net>
- Date: Wed, 30 Jun 2010 08:05:59 -0400 (EDT)
- References: <8622256.1277877387594.JavaMail.root@n11>
1) Evaluate $UserBaseDirectory and look for the Applications folder there.
2) In the Applications folder create a folder for your package application,
MyApplication for example.
3) Say that your package is saved as MyPackage.m. (You might also have a
MyPackage.nb if you are using that method to create the .m file.) Put these
files in the MyApplication folder.
4) Write the BeginPackage statement as:
BeginPackage["MyApplication`MyPackage`", {dependent packages if any}]
Notice that the first argument of BeginPackage gives a kind of file path
from the Applications folder to the package file.
5) Load the package with:
Needs["MyApplication`MyPackage`"]
or
<<MyApplication`MyPackage`
6) But you say that some routines don't load with your Needs statement. All
that I can think is that they are not mentioned in the public section of the
package with usage statements. Use a
MyRoutine::usage = "MyRoutine[args...] with a description.";
for each routine that you want exported by the package. Put these statements
after the BeginPackage statement but before the Begin["`Private`"]
statement.
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/
From: Miguel Galrinho [mailto:miguel at galrinho.com]
I have a package in Mathematica that works fine when I open the .m file and
click "Run Package". However, when I type Needs[.] in a notebook, the
package doesn't load 100%, only some functions do. The file begins with
BeginPackage[".", {.}]
like I think it was supposed to. I don't know what might be wrong.
Can anyone help?
Thanks.
Miguel Galrinho