env_names {rlang} | R Documentation |
env_names()
returns object names from an enviroment env
as a
character vector. All names are returned, even those starting with
a dot.
env_names(env)
env |
An environment or an object bundling an environment, e.g. a formula, quosure or closure. |
A character vector of object names.
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 <- env(a = 1, b = 2) env_names(env)