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 ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.