[Rd] How to overload the assignment operator?
Matthias Kohl
Matthias.Kohl at stamats.de
Tue Nov 13 14:52:53 CET 2007
are you looking for "setReplaceMethod"?
hth
Matthias
Jens Oehlschlägel wrote:
> 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)
>
> --
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
More information about the R-devel
mailing list