I don't understand why I get the following results. I define two classes 'Base' and 'Derived', the latter of which 'contains' the first. I then define a generic method 'test' and overload it for each of these classes. I call 'callNextMethod()' in the overload for Derived. From the output, it appears that the overload for Base gets called twice. Why is this? Test code follows:
setClass('Base') setClass('Derived', contains='Base') setGeneric('test', function(x) standardGeneric('test')) setMethod('test', signature(x='Base'), function(x) print('base called')) setMethod('test', signature(x='Derived'), function(x) {print('derived called'); callNextMethod()}) d = new('Derived') test(d) Produces the output: [1] "derived called" [1] "base called" [1] "base called" and I was expecting: [1] "derived called" [1] "base called" Thanx in advance, Simon Knapp [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.