R.oo (version 1.26.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(), ...)

Value

Returns (invisibly) a character

vector of the fields copied.

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.

Author

Henrik Bengtsson

See Also

*attach() For more information see Object.

Examples

Run this code
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