function local/private to another function?
- To: mathgroup at smc.vnet.net
- Subject: [mg110586] function local/private to another function?
- From: "Nasser M. Abbasi" <nma at 12000.org>
- Date: Sat, 26 Jun 2010 08:41:15 -0400 (EDT)
- Reply-to: nma at 12000.org
Hello;
What is the best way to have a function which can only be "seen" and
called by only the enclosing parent function? And not be in the global
space (without using a package?).
Is it something like:
f1[x_]:=Module[{b,f2},
....
f2[y_]:=Module[{c},...c=y^2...Return[x]];
b=f2[x]
...
]
But in the above, "c" is not really local to f2, but local to f1 also,
because I can't write
f1[x_]:=Module[{c,f2},
....
f2[y_]:=Module[{c},...];--> Mathematica complain about "c" here
...
]
I Wanted to find what is the best way to have a local function, with its
own local variables inside a parent function, where the only interaction
between the inner function and the parent function is via the argument
call. I looked at Block and With, but they do not do what I need. I
think Module is the only choice left? Or should I not bother about
having local functions to another functions at all and leave everything
in the global space?
thanks,
--Nasser