R.oo (version 1.24.0)

attachLocally.Object: Attaches an Object locally to an environment

Description

Attaches an Object locally to an environment. By default, the fields of the Object are attached to the parent frame, that is, the calling environment.

Usage

# S3 method for Object
attachLocally(this, private=FALSE, fields=NULL, excludeFields=NULL, overwrite=TRUE,
  envir=parent.frame(), ...)

Arguments

private

If TRUE, private fields are included, otherwise not. This is only effective if fields==NULL.

fields

A character vector specifying elements to be copied. If NULL, all elements are considered.

excludeFields

A character vector specifying elements not to be copied. This has higher priority than fields.

overwrite

If FALSE, fields that already exists will not be copied.

envir

The environment where fields are copied to.

...

Not used.

Value

Returns (invisibly) a character vector of the fields copied.

See Also

*attach() For more information see Object.

Examples

Run this code
# NOT RUN {
foo <- function(object, arg1="some value", ...) {
  cat("Local objects in foo():\n")
  print(ls())

  attachLocally(object)

  cat("\nLocal objects in foo():\n")
  print(ls())

  for (name in ls()) {
    cat("\nObject '", name, "':\n", sep="")
    print(get(name, inherits=FALSE))
  }
}

a <- "A string"
obj <- Object()
obj$a <- "Another string"
obj$b <- NA
foo(obj)
print(a)
# }

Run the code above in your browser using DataLab