R: Names of symbols bound in an environment

env_names {rlang} | R Documentation

## Names of symbols bound in an environment

### Description

`env_names()` returns object names from an enviroment `env` as a character vector. All names are returned, even those starting with a dot.

### Usage

    env_names(env)

### Arguments

`env` | An environment or an object bundling an environment, e.g. a formula, quosure or closure.

### Value

A character vector of object names.

### Names of symbols and objects

Technically, objects are bound to symbols rather than strings, since the R interpreter evaluates symbols (see `is_expression()` for a discussion of symbolic objects versus literal objects). However it is often more convenient to work with strings. In rlang terminology, the string corresponding to a symbol is called the name of the symbol (or by extension the name of an object bound to a symbol).

### Encoding

There are deep encoding issues when you convert a string to symbol and vice versa. Symbols are always in the native encoding (see `set_chr_encoding()`). If that encoding (let's say latin1) cannot support some characters, these characters are serialised to ASCII. That's why you sometimes see strings looking like `<U+1234>`, especially if you're running Windows (as R doesn't support UTF-8 as native encoding on that platform).

To alleviate some of the encoding pain, `env_names()` always returns a UTF-8 character vector (which is fine even on Windows) with unicode points unserialised.

### Examples

    env <- env(a = 1, b = 2)
    env_names(env)

[Package rlang version 0.2.2 Index]