[Rd] How to overload the assignment operator?
"Jens Oehlschlägel"
oehl_list at gmx.de
Tue Nov 13 14:35:59 CET 2007
Dear all,
what is the proper way to make the assignment operator generic and define methods depending on the class of the assigned value?
Best regards
Jens Oehlschlägel
P.S. I vaguely remember that this was possible in S+. In R I tried to no avail:
# using this like h<-1:3 gives Error: in `<-.default`(h, 1:3) : invalid (do_set) left-hand side to assignment
"<-.default" <- get("<-")
# using this does fail on subassignments like: h <- 1:3 ; h[1] <- 7 (h still is 1:3)
"<-.default" <- function(x, value){
assign(deparse(substitute(x)), value, parent.frame())
invisible(x)
}
# this seems to work
"<-" <- function(x, value){
UseMethod("<-", value)
}
# whenever the assigned value has class 'ff' I want to do execute something like
"<-.ff" <- function(x, value){
y <- clone(value)
assign(deparse(substitute(x)), y, parent.frame())
y
}
> version
_
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 2
minor 6.0
year 2007
month 10
day 03
svn rev 43063
language R
version.string R version 2.6.0 (2007-10-03)
--
More information about the R-devel
mailing list