Vilis Nams wrote:
>
> I want to define a function that in the course of doing something, also
> changes the value of its argument, for example: f[x_]:=Module[{},
> x=2*x;
> x
> ]
> When I run the function, I get the error: "Set::setraw : Cannot assign
> to raw object ...." Can this be done in some way?
>
> --------------------
> Vilis O. Nams
> Dept of Biology, NSAC
> Box 550, Truro, NS, Canada
> vnams @ nsac.ns.ca
> -------------------
If I have an argument I want to change in the course of a functional
evaluation, I make a "working" copy at the beginning of the function:
f[x_]:=Module[{y},
y=x;
> y=2*y;
> y
> ]
I don't think you can change the value of the actual argument inside a
function, or if you could that it would be a good idea. If you made
global changes inside a local function, it might make for some
interesting bugs that would be very hard to track down. --
Remove the _nospam_ in the return address to respond.