>
> Assume we have a function like:
>
> foo <- function(x, y)
>
> how is it possible to define a binary indexing operator, denoted by $, so
> that
>
> x$y
>
> functions the same as
>
> foo(x, y)


  Here is an example. Note that $ does not evaluate y so you have
to do it yourself:

x <- structure(3, class = "myclass")
y <- 5
foo <- function(x,y) x+y
"$.myclass" <- function(x, i) { i <- eval.parent(parse(text=i)); foo(x, i) }
x$y # structure(8, class = "myclass")


what about this approach:

foo <- function(x, y) x+y
assign("$", foo)

would this overwrite $ and make R to forget its definitions in the global environment?

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to