On 31.01.2011 23:23, muchad...@gmail.com wrote:
Is there a limit to how many nested function calls R will tolerate? I mean,
if I have a function that calls another function that calls another
function, etc., is there a limit to how deep I can go?

I am getting an error that says a variable is not available. When I do a
traceback(), it shows that the supposedly missing variable is 7 functions
back. I'll call that "fcn1".

As far as I can tell, the variable that the error says is not available is
in fact globally available, except when I try to access it via nested
function calls. Also, when I call fcn1 at the command prompt, there is no
problem. But if I put browser() inside fcn1 and call fcn7, the variable is
not available at the Browse[1]>  prompt. And I get the same problem if I call
fcn2.

Does it sound like the problem is the number of nested function calls or
something else?


No, the number is controlled.

See ?options and its argument "expressions" that tells you that 5000 nested expressions are a default limit that can be changed easily (and if it is hit you will get an informative error message).

What you see is how are searches objects in environments (so called scoping rules). The general first rule is to pass all required objects as arguments to the functions that need them. You can make (but should not make too many) exceptions if you have understood the scoping rules that you can read about in the documentation.

Best,
Uwe Ligges



Thanks,
Anna

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to