Another variant of what is probably the same issue:
> setClass("foo", representation(a = "numeric"))
[1] "foo"
> f <- function() [EMAIL PROTECTED] <<- 2
> x <- new("foo",a=1)
> y <- x
> f()
> x
An object of class âfooâ
Slot "a":
[1] 2
> y
An object of class âfooâ
Slot "a":
[1] 2
luke
On Wed, 31 Aug 2005, [EMAIL PROTECTED] wrote:
If I have an S4 object, and I make a copy, changes to the original
aren't reflected in the copy:
> setClass("foo", representation(slot="numeric"))
> x <- new("foo", slot=1)
> y <- x
> [EMAIL PROTECTED] <- 2
> y
An object of class "foo"
Slot "slot":
[1] 1
This is as it should be. However, if I call the slot assignment
function in a funny way, y *does* receive the changes:
> x <- new("foo", slot=1)
> y <- x
> assign("x", "@<-"(x, "slot", 2))
> y
An object of class "foo"
Slot "slot":
[1] 2
This happens in the current R-devel in Windows, and R-patched too.
> version
_
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status Under development (unstable)
major 2
minor 2.0
year 2005
month 08
day 31
svn rev 35467
language R
Duncan Murdoch
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa Phone: 319-335-3386
Department of Statistics and Fax: 319-335-3017
Actuarial Science
241 Schaeffer Hall email: [EMAIL PROTECTED]
Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel