env_names() returns object names from an enviroment
env as a
character vector. All names are returned, even those starting with
env_length() returns the number of bindings.
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. 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
To alleviate some of the encoding pain,
returns a UTF-8 character vector (which is fine even on Windows)
with ASCII unicode points translated back to UTF-8.
env <- env(a = 1, b = 2) env_names(env)#>  "a" "b"