John Chambers <[EMAIL PROTECTED]> writes: > - not evaluating the left side of the operator. This is no problem in > principle, since generic functions can have a signature (see > ?setGeneric); if the signature omits the first argument, methods can be > dispatched without evaluating that argument.
Yes, but if you want to dispatch *on* the first argument, you're in trouble. AFAI understood, that was what the orig.poster wanted to do: If a has class "A", ensure that a <- b leaves a as class "A" even though b has class "B". > - As Richard O'Keefe points out, replacement expressions (dim(x) <- > NULL, e.g.) are handled as simple assignments of the result of > "replacement functions" (x <- "dim<-"(x, NULL)). In fact this means > that defining methods for "<-" would catch ALL assignments. Replacement > functions are not methods but essentially a syntactic shorthand and a > way of defining replacement operations in a language that doesn't allow > pointers. [Except, as you all of course know, that this is internally optimized so as not to be quite true. E.g. x[225000] <- 1 does not create an extra vector of 225000 or more cells, whereas (I think) x <- "[<-"(x,225000,1) will do so. Luke knows much more about these sorts of madness...] -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help