reg.finalizer {base}R Documentation

Finalization of Objects

Description

Registers an R function to be called upon garbage collection of object or (optionally) at the end of an R session.

Usage

  reg.finalizer(e, f, onexit = FALSE)

Arguments

e

Object to finalize. Must be an environment or an external pointer.

f

Function to call on finalization. Must accept a single argument, which will be the object to finalize.

onexit

logical: should the finalizer be run if the object is still uncollected at the end of the R session?

Value

NULL.

Note

The purpose of this function is mainly to allow objects that refer to external items (a temporary file, say) to perform cleanup actions when they are no longer referenced from within R. This only makes sense for objects that are never copied on assignment, hence the restriction to environments and external pointers.

See Also

gc and Memory for garbage collection and memory management.

Examples

f <- function(e) print("cleaning....")
g <- function(x){ e <- environment(); reg.finalizer(e,f) }
g()
invisible(gc()) # trigger cleanup

[Package base version 2.15.1 Index]