Primitive {base} | R Documentation |
Look Up a Primitive Function
Description
.Primitive
looks up by name a ‘primitive’
(internally implemented) function.
Usage
.Primitive(name)
Arguments
name |
name of the R function. |
Details
The advantage of .Primitive
over .Internal
functions is the potential efficiency of argument passing, and that
positional matching can be used where desirable, e.g. in
switch
. For more details, see the ‘R Internals’
manual.
All primitive functions are in the base namespace.
You should not set attributes
on primitive functions.
This now signals a deprecation warning
and will become illegal (via error), soon.
This function is almost never used: `name`
or, more carefully,
get(name, envir = baseenv())
work equally well and do
not depend on knowing which functions are primitive (which does change
as R evolves).
See Also
is.primitive
showing that primitive functions come in
two types (typeof
),
.Internal
.
Examples
mysqrt <- .Primitive("sqrt")
## be careful, this changes base R's sqrt() {until restarting R} !
try(structure(mysqrt, comment = "primitive function")) # deprecation warning; soon an error
.Internal # this one *must* be primitive!
`if` # need backticks