HenrikBengtsson / R.oo

R package: R.oo - R Object-Oriented Programming with or without References
https://cran.r-project.org/package=R.oo
20 stars 1 forks source link

objectSize() for environment may result in endless recursion #2

Closed HenrikBengtsson closed 9 years ago

HenrikBengtsson commented 9 years ago

EXAMPLE:

> library("R.oo")
> env <- new.env()
> env$env <- env
> objectSize(env)
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?

> traceback()
1429: objectSize(envir[[name]])
1428: objectSize.environment(envir[[name]])
1427: objectSize(envir[[name]])
1426: objectSize.environment(envir[[name]])
...

SOURCE:

> objectSize.environment
function (envir, ...)
{
    names <- ls(envir = envir, all.names = TRUE, ...)
    size <- 0
    for (name in names) {
        size <- size + objectSize(envir[[name]])
    }
    size
}
<environment: namespace:R.oo>
HenrikBengtsson commented 9 years ago

Solved.