| inherits_any {rlang} | R Documentation |
Does an object inherit from a set of classes?
Description
-
inherits_any()is likebase::inherits()but is more explicit about its behaviour with multiple classes. Ifclassescontains several elements and the object inherits from at least one of them,inherits_any()returnsTRUE. -
inherits_all()tests that an object inherits from all of the classes in the supplied order. This is usually the best way to test for inheritance of multiple classes. -
inherits_only()tests that the class vectors are identical. It is a shortcut foridentical(class(x), class).
Usage
inherits_any(x, class)
inherits_all(x, class)
inherits_only(x, class)
Arguments
x |
An object to test for inheritance. |
class |
A character vector of classes. |
Examples
obj <- structure(list(), class = c("foo", "bar", "baz"))
# With the _any variant only one class must match:
inherits_any(obj, c("foobar", "bazbaz"))
inherits_any(obj, c("foo", "bazbaz"))
# With the _all variant all classes must match:
inherits_all(obj, c("foo", "bazbaz"))
inherits_all(obj, c("foo", "baz"))
# The order of classes must match as well:
inherits_all(obj, c("baz", "foo"))
# inherits_only() checks that the class vectors are identical:
inherits_only(obj, c("foo", "baz"))
inherits_only(obj, c("foo", "bar", "baz"))
[Package rlang version 1.1.4 Index]