From sfalcon at fhcrc.org  Mon Dec 11 23:38:30 2006
From: sfalcon at fhcrc.org (Seth Falcon)
Date: Mon, 11 Dec 2006 14:38:30 -0800
Subject: [Rd] Wondering about methods (selecting a less specialized
	method)
In-Reply-To: <7098abec0612111155lc493c2fj93cd48bad735b7df@mail.gmail.com>
	(Byron Ellis's message of "Mon, 11 Dec 2006 11:55:23 -0800")
References: <7098abec0612111155lc493c2fj93cd48bad735b7df@mail.gmail.com>
Message-ID: <m2vekicb2x.fsf@ziti.local>

"Byron Ellis" <ellis at stat.harvard.edu> writes:

> Hi All,
>
> I find myself wondering if there is a canonical means of achieving the
> multiple-dispatch version of 'super'? Specifically, I have a set of
> classes
>
> A, B, X and Y where B extends A
>
> and a method Foo with the signature (X,A,Y) and I'd like to implement
> Foo with the signature (X,B,Y) such that it calls Foo_(X,A,Y) and then
> does "other stuff." This gets a bit complicated with multiple
> inheritance but at the moment the best I can think to do is an
> explicit call to selectMethod.

I would expect callNextMethod to work in most cases.  Have you tried
that?

setMethod("Foo", c("X", "B", "Y"),
          function(x, b, y) {
              ans <- callNextMethod()
              ## more
          })

+ seth



[Rd] Wondering about methods (selecting a less specialized method)
Seth Falcon