type_of

0th

Percentile

Base type of an object

This is equivalent to base::typeof() with a few differences that make dispatching easier:

  • The type of one-sided formulas is "quote".

  • The type of character vectors of length 1 is "string".

  • The type of special and builtin functions is "primitive".

Keywords
internal
Usage
type_of(x)
Arguments
x

An R object.

Life cycle

type_of() is an experimental function. Expect API changes.

Aliases
  • type_of
Examples
library(rlang) # NOT RUN { type_of(10L) # Quosures are treated as a new base type but not formulas: type_of(quo(10L)) type_of(~10L) # Compare to base::typeof(): typeof(quo(10L)) # Strings are treated as a new base type: type_of(letters) type_of(letters[[1]]) # This is a bit inconsistent with the core language tenet that data # types are vectors. However, treating strings as a different # scalar type is quite helpful for switching on function inputs # since so many arguments expect strings: switch_type("foo", character = abort("vector!"), string = "result") # Special and builtin primitives are both treated as primitives. # That's because it is often irrelevant which type of primitive an # input is: typeof(list) typeof(`$`) type_of(list) type_of(`$`) # }
Documentation reproduced from package rlang, version 0.2.0, License: GPL-3

Community examples

Looks like there are no examples yet.