S7_inherits()
returnsTRUE
orFALSE
.check_is_S7()
throws an error ifx
isn't the specifiedclass
.
Usage
S7_inherits(x, class = NULL)
check_is_S7(x, class = NULL, arg = deparse(substitute(x)))
Value
S7_inherits()
returns a singleTRUE
orFALSE
.check_is_S7()
returns nothing; it's called for its side-effects.
Note
Starting with R 4.3.0, base::inherits()
can accept an S7 class as
the second argument, supporting usage like inherits(x, Foo)
.
Examples
Foo1 <- new_class("Foo1")
Foo2 <- new_class("Foo2")
S7_inherits(Foo1(), Foo1)
#> [1] TRUE
check_is_S7(Foo1())
check_is_S7(Foo1(), Foo1)
S7_inherits(Foo1(), Foo2)
#> [1] FALSE
try(check_is_S7(Foo1(), Foo2))
#> Error : `Foo1()` must be a <Foo2>, not a <Foo1>
if (getRversion() >= "4.3.0")
inherits(Foo1(), Foo1)
#> [1] TRUE