Re: creating packages

*To*: mathgroup at smc.vnet.net*Subject*: [mg32907] Re: creating packages*From*: "Allan Hayes" <hay at haystack.demon.co.uk>*Date*: Tue, 19 Feb 2002 02:29:35 -0500 (EST)*References*: <a4qlhe$eob$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

poonam, I hope that he following may help - fo rmore see Roman Maeder's book "Programming in Mathematica" I'll go through one way of creating a short package,' It must be a text file file with extension m, here the file will be named RandomCharts.m. I will put in the ExtraPackages/haypacks//Graphics/ (the address of ExtraPackages is given by evaluating ToFileName[{$TopDirectory, "AddOns", "ExtraPackages"}] ) This will enable me to load the package with the command <<haypacks`Graphics`RandomCharts` (or Get["haypacks`Graphics`RandomCharts` "] or Needs["haypacks`Graphics`RandomCharts` "] ) Here is the package code to be put into the file, this may be varied. (you can type it directly into the file - there are other ways) (* ....*) are my comments - not essential to the code. BeginPackage["haypacks`Graphics`RandomCharts`","Graphics`Graphics`"]; (*begin the package context, load Graphics`Graphics` needed for the function BarChart*) Unprotect["`*"];ClearAll["`*"]; (*unprotect and clear out old definitionsn - allows repeated loading and alterations*) RandomBarChart::usage="RandomBarChart[n] for a positive integer n displays a bar chart for n random numbers " (*usage message:gives info via ?RandomBarChart*, makes RandomBarChart available to user) Begin["`Private`"]; (*begins the package's private context; this is where you working code goes; vals=..., below, is internal to the package, not meant to be used directly by user *) vals[n_] = Table[Random[], {n}]; RandomBarChart[n_]:= BarChart[vals[n]]; End[]; (*end private context*) Protect["`*"] (*protect all symbols in the package context") EndPackage[]; (*end package context ? each of the expressions BeginPackage[..], Begin[..], End[] and EndPackage[]must be in its own input line Allan --------------------- Allan Hayes Mathematica Training and Consulting Leicester UK www.haystack.demon.co.uk hay at haystack.demon.co.uk Voice: +44 (0)116 271 4198 Fax: +44 (0)870 164 0565 "poonam" <poonam_pandey at hotmail.com> wrote in message news:a4qlhe$eob$1 at smc.vnet.net... > I am a first time user of mathematica and currently using version 4.0. > I am trying to create a package. I am not very clear about how and > where to write the package. I tried to use the dumpsave method, but > its not creating the binary format .mx file. Where do i have to write > the package .nb or in text editor and how do i run the dumpsave > command? Or do i need to do this in text editor and save as .m? > > Can somebody clear my doubts. ? > > > Thanks >