R: Locate a function with a given name and return it and its...

locate_function {statnet.common} | R Documentation

## Locate a function with a given name and return it and its environment.

### Description

These functions first search the given environment, then search all loaded environments, including those where the function is not exported. If found, they return an unambiguous reference to the function.

### Usage

    locate_function(name, env = globalenv(), ...)

    locate_prefixed_function(
      name,
      prefix,
      errname,
      env = globalenv(),
      ...,
      call. = FALSE
    )

### Arguments

`name` | a character string giving the function's name.
`env` | an `environment` where it should search first.
`...` | additional arguments to the warning and error warning messages. See Details.
`prefix` | a character string giving the prefix, so the searched-for function is `prefix.name`.
`errname` | a character string; if given, if the function is not found an error is raised, with `errname` prepended to the error message.
`call.` | a logical, whether the call (`locate_prefixed_function`) should be a part of the error message; defaults to `FALSE` (which is different from `stop()`'s default).

### Details

If the initial search fails, a search using `getAnywhere()` is attempted, with exported ("visible") functions with the specified name preferred over those that are not. When multiple equally qualified functions are available, a warning is printed and an arbitrary one is returned.

Because `getAnywhere()` can be slow, past searches are cached.

### Value

If the function is found, an unevaluated call of the form `ENVNAME:::FUNNAME`, which can then be used to call the function even if it is unexported. If the environment does not have a name, or is `GlobalEnv`, only `FUNNAME` is returned. Otherwise, `NULL` is returned.

### Functions

- `locate_function`: a low-level function returning the reference to the function named `name`, or `NULL` if not found.

- `locate_prefixed_function`: a helper function that searches for a function of the form `prefix.name` and produces an informative error message if not found.

### Examples

    # Locate a random function in base.
    locate_function(".row_names_info")

[Package statnet.common version 4.6.0 Index]