getPackageName {methods} | R Documentation

## 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.

### Usage

    getPackageName(where, create = TRUE)
    setPackageName(pkg, env)

    packageSlot(object)
    packageSlot(object) <- value

### Arguments

`where` | 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`.

### 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.)

### 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.)

### See Also

`search`, `packageName`

### Examples

    ## all the following usually return "base"
    getPackageName(length(search()))
    getPackageName(baseenv())
    getPackageName(asNamespace("base"))
    getPackageName("package:base")

[Package methods version 3.3.2 Index]