Names of symbols bound in an environment

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


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


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


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.

  • env_names
library(rlang) # NOT RUN { env <- env(a = 1, b = 2) env_names(env) # }
Documentation reproduced from package rlang, version 0.2.0, License: GPL-3

Community examples

Looks like there are no examples yet.