I looked through the documentation and the mailing lists and could not find an answer to this. My apologies if it has already been answered. If it has, a pointer to the relevant discussion would be greatly appreciated.
Creating S4 classes containing environments exhibits unexpected behavior/features. These have a different in two ways: 1) slotName for the data: ".xData" instead of ".Data" and do not respond to the 2) Response to the is.* function seems to indicate that the object does not know of its inheritance. ( Notably, the inherits function works as expected. ) Here is a working illustration: > # LIST > setClass( 'inheritList', contains='list') [1] "inheritList" > inList <- new( 'inheritList' ) > class( inList ) [1] "inheritList" attr(,"package") [1] ".GlobalEnv" > is.list( inList ) # TRUE [1] TRUE > slotNames(inList) # ".Data" [1] ".Data" > inherits(inList, 'list' ) # TRUE [1] TRUE > > > # ENVIRONMENT > setClass( 'inheritEnv', contains='environment' ) Defining type "environment" as a superclass via class ".environment" [1] "inheritEnv" > inEnv <- new( 'inheritEnv' ) > class(inEnv) [1] "inheritEnv" attr(,"package") [1] ".GlobalEnv" > is.environment(inEnv) # FALSE [1] FALSE > slotNames(inEnv) # ".xData" [1] ".xData" > inherits(inEnv, 'environment' ) # TRUE [1] TRUE My questions is whether this behavior is a bug? By design? A work around? Etc.? Thanks kindly for your reply, Chris the Open Data Group http://www.opendatagroup.com http://blog.opendatagroup.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel