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.

Reply via email to