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?