Re: Module in a package
- To: mathgroup at smc.vnet.net
- Subject: [mg72970] Re: Module in a package
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Sat, 27 Jan 2007 05:29:34 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <epcnf4$849$1@smc.vnet.net>
Miguel wrote:
> When I use Module in a package Mathematica yields an error message and
> I d'ont understand the reason.
> This is an example
>
> Package Calor`Combustion`
>
> CO2[c_,h_,o_]:=(
-----------------^
Extra parentheses: must be discarded
> Module[{nci=(c*10/12),nhi=(h*10/2),noi=(o*10/32),a,b,c,d,e},
-------------------------------------------------------^
c should not be redefined here
a, b, d, e are not use in the function: no need to define them as local
variables
> nc=nci;
> nh=nhi-(2*noi);
> no=nc+(nh/2);
--^^
However, nc, nh, and no are *global* variables (they are not local to
the module): are you sure this is what you want?
> 2*no+5*nh
> ]
<snip>
Hi Miguel,
Even outside a package your code is not working. Try the following:
In[1]:=
CO2[c_, h_, o_] :=
Module[{nci, nhi, noi, nc, nh, no},
nci = c*(10/12);
nhi = h*(10/2);
noi = o*(10/32);
nc = nci;
nh = nhi - 2*noi;
no = nc + nh/2;
2*no + 5*nh
]
In[2]:=
CO2[60, 35, 5]
Out[2]=
4525
----
4
Best regards,
Jean-Marc