call_name | R Documentation |
call_name()
and call_ns()
extract the function name or
namespace of simple calls as a string. They return NULL
for
complex calls.
Simple calls: foo()
, bar::foo()
.
Complex calls: foo()()
, bar::foo
, foo$bar()
, (function() NULL)()
.
The is_call_simple()
predicate helps you determine whether a call
is simple. There are two invariants you can count on:
If is_call_simple(x)
returns TRUE
, call_name(x)
returns a
string. Otherwise it returns NULL
.
If is_call_simple(x, ns = TRUE)
returns TRUE
, call_ns()
returns a string. Otherwise it returns NULL
.
call_name(call)
call_ns(call)
is_call_simple(x, ns = NULL)
call |
A defused call. |
x |
An object to test. |
ns |
Whether call is namespaced. If |
The function name or namespace as a string, or NULL
if
the call is not named or namespaced.
# Is the function named?
is_call_simple(quote(foo()))
is_call_simple(quote(foo[[1]]()))
# Is the function namespaced?
is_call_simple(quote(list()), ns = TRUE)
is_call_simple(quote(base::list()), ns = TRUE)
# Extract the function name from quoted calls:
call_name(quote(foo(bar)))
call_name(quo(foo(bar)))
# Namespaced calls are correctly handled:
call_name(quote(base::matrix(baz)))
# Anonymous and subsetted functions return NULL:
call_name(quote(foo$bar()))
call_name(quote(foo[[bar]]()))
call_name(quote(foo()()))
# Extract namespace of a call with call_ns():
call_ns(quote(base::bar()))
# If not namespaced, call_ns() returns NULL:
call_ns(quote(bar()))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.