Extract names from symbols
as_name() converts symbols to character strings. The
conversion is deterministic. That is, the roundtrip symbol -> name
-> symbol always gets the same result.
Use as_name() when you need to transform a symbol to a string
to refer to an object by its name.
Use as_label() when you need to transform any kind of object to
a string to represent that object with a short description.
Expect as_name() to gain
name-repairing
features in the future.
Note that rlang::as_name() is the opposite of
base::as.name(). If you're writing base R code, we recommend
using base::as.symbol() which is an alias of as.name() that
follows a more modern terminology (R types instead of S modes).
as_name(x)
x |
A string or symbol, possibly wrapped in a quosure. If a string, the attributes are removed, if any. |
A character vector of length 1.
as_label() for converting any object to a single string
suitable as a label. as_string() for a lower-level version that
doesn't unwrap quosures.
# Let's create some symbols:
foo <- quote(foo)
bar <- sym("bar")
# as_name() converts symbols to strings:
foo
as_name(foo)
typeof(bar)
typeof(as_name(bar))
# as_name() unwraps quosured symbols automatically:
as_name(quo(foo))Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.