On Jul 23, 2013, at 5:36 AM, Simon Zehnder wrote:
> Dear R-Users and R-Devels,
>
> I have large project based on S4 classes. While writing my unit tests I
found out, that 'is' cannot test for a specific class, as also inherited
classes can be treated as their super classes. I need to do checks for specific
classes. What I do right now is sth. like
>
> if (class(myClass) == "firstClass") {
I would think that you would need to use `%in%` instead.
if( "firstClass" %in% class(myObject) ){
Objects can have more than one class, so testing with "==" would fail
in those instances.
>
> } else if (class(myClass) == "secondClass") {
>
> }
>
> Is this the usual way how classes are checked in R?
Well, `inherits` IS the usual way.
> I was expecting some specific method (and 'inherits' or
'extends' is not what I look for)...
>
>
> Best
>
> Simon
>
> [[alternative HTML version deleted]]
Plain-text format is the recommended format for Rhelp
--
David Winsemius
Alameda, CA, USA