Extract function name or namespace of a call

call_name(call)

call_ns(call)

Arguments

call

Can be a call or a quosure that wraps a call.

Value

A string with the function name, or NULL if the function is anonymous.

Life cycle

In rlang 0.2.0, lang_name() was deprecated and renamed to call_name(). See lifecycle section in call2() for more about this change.

See also

Examples

# Extract the function name from quoted calls:
call_name(quote(foo(bar)))
#> [1] "foo"
call_name(quo(foo(bar)))
#> [1] "foo"

# Namespaced calls are correctly handled:
call_name(~base::matrix(baz))
#> [1] "matrix"

# Anonymous and subsetted functions return NULL:
call_name(quote(foo$bar()))
#> NULL
call_name(quote(foo[[bar]]()))
#> NULL
call_name(quote(foo()()))
#> NULL

# Extract namespace of a call with call_ns():
call_ns(quote(base::bar()))
#> [1] "base"

# If not namespaced, call_ns() returns NULL:
call_ns(quote(bar()))
#> NULL