getClass (Class, .Force = FALSE, where, resolve.msg = getOption("getClass.msg", default=TRUE))
getClassDef(Class, where, package, inherits = TRUE, resolve.msg = getOption("getClass.msg", default=TRUE))"package" attribute as noted below under package.TRUE, return NULL if the class is
undefined; otherwise, an undefined class results in an error.where, as the first place to look for the class.
Note that the package must be loaded but need not be attached. By
default, the package attribute of the Class argument is
used, if any. There will usually be a package attribute if
Class comes from class(x) for some object.
FALSE
only a definition in the environment where will be returned.getClassDef returns NULL, while getClass, which
calls getClassDef, either generates an error or, if
.Force is TRUE, returns a simple definition for the
class. The latter case is used internally, but is not typically
sensible in user code.The non-null returned value is an object of class
classRepresentation. For all reasonable
purposes, use this object only to extract information, rather than trying
to modify it: Use functions such as setClass and
setIs to create or modify class definitions.
getClassDef will find the
class in the cache or fail to find it at all, unless inherits
is FALSE, in which case only the environment(s) defined by
package or where are searched.The class cache allows for multiple definitions of the same class name in separate environments, with of course the limitation that the package attribute or package name must be provided in the call to
Chambers, John M. (1998) Programming with Data Springer (For the original S4 version.)
setClass,
isClass.
getClass("numeric") ## a built in class
cld <- getClass("thisIsAnUndefinedClass", .Force = TRUE)
cld ## a NULL prototype
## If you are really curious:
utils::str(cld)
## Whereas these generate errors:
try(getClass("thisIsAnUndefinedClass"))
try(getClassDef("thisIsAnUndefinedClass"))
Run the code above in your browser using DataLab