getPackageName: The Name associated with a Given Package
Description
The functions below produce the package associated with a particular
environment or position on the search list, or of the package
containing a particular function. They are primarily used to support
computations that need to differentiate objects on multiple packages.
the environment or position on the search list
associated with the desired package.
object
object providing a character string name, plus the
package in which this object is to be found.
value
the name of the package.
create
flag, should a package name be created if none can be
inferred? If TRUE and no non-empty package name is found,
the current date and time are used as a package name, and a
warning is issued. The created name is stored in the environment
if that environment is not locked.
pkg, env
make the string in pkg the internal
package name for all computations that set class and method
definitions in environment env.
Value
getPackageName returns the character-string name of the package
(without the extraneous "package:" found in the search list).packageSlot returns or sets the package name slot (currently
an attribute, not a formal slot, but this may change someday).setPackageName can be used to establish a package name in an
environment that would otherwise not have one. This
allows you to create classes and/or methods in an arbitrary
environment, but it is usually preferable to create packages by the
standard R programming tools (package.skeleton, etc.)
Details
Package names are normally installed during loading of the package,
by the INSTALL script or by the library
function. (Currently, the name is stored as the object
.packageName but don't trust this for the future.)
## all the following usually return "base"getPackageName(length(search()))
getPackageName(baseenv())
getPackageName(asNamespace("base"))
getPackageName("package:base")