Re: How to change the argument of a function?
- To: mathgroup@smc.vnet.net
- Subject: [mg10843] Re: [mg10783] How to change the argument of a function?
- From: seanross@worldnet.att.net
- Date: Tue, 10 Feb 1998 21:01:54 -0500
- References: <199802050558.AAA14348@smc.vnet.net.>
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.
- References:
- How to change the argument of a function?
- From: Vilis Nams <vnams@nsac.ns.ca>
- How to change the argument of a function?