On Thu, Jul 30, 2009 at 12:01 PM, Martin Morgan<mtmor...@fhcrc.org> wrote:
> S4 objects do not have the semantics of environments, but of lists (or of 
> most other R objects), so it is as meaningful to ask why identical(s1, s2) 
> returns TRUE as it is to ask why identical(list(x=1), list(x=1)) returns TRUE.

Thanks for the clarification.

For some reason, I thought that S4 objects (unlike S3 objects) were
objects in the conventional computer science sense, that is, mutable.
Compare proto objects, which *are* objects in the usual sense:

> proto1 <- proto(expr= {x=23})
> proto2 <- proto1
> proto1$x <- 45
> proto2$x
[1] 45                    # proto1 and proto2 are the same object

> setClass("test",representation(a="logical"))
[1] "test"
> s41 <- new("test")
> s42 <- s41
> s...@a <- TRUE
> s...@a              # s41 and s42 are different objects
logical(0)

It would thus perhaps be clearer to speak of S4 "values" rather than
S4 "objects".

                -s

______________________________________________
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