| Line 90... |
Line 90... |
| 90 |
}
|
90 |
}
|
| 91 |
\section{Technical Details}{
|
91 |
\section{Technical Details}{
|
| 92 |
Now for some obscure details that need to appear somewhere. These
|
92 |
Now for some obscure details that need to appear somewhere. These
|
| 93 |
comments will be slightly different than those in
|
93 |
comments will be slightly different than those in
|
| 94 |
\bibcitet{R:Chambers:1992:aa}.
|
94 |
\bibcitet{R:Chambers:1992:aa}.
|
| 95 |
(See also the draft \sQuote{R Language Definition}.)
|
95 |
(See also the draft of \manual{R-lang}{}.)
|
| 96 |
\code{UseMethod} creates a new function call with
|
96 |
\code{UseMethod} creates a new function call with
|
| 97 |
arguments matched as they came in to the generic. [Previously local
|
97 |
arguments matched as they came in to the generic. [Previously local
|
| 98 |
variables defined before the call to \code{UseMethod} were retained;
|
98 |
variables defined before the call to \code{UseMethod} were retained;
|
| 99 |
as of \R 4.4.0 this is no longer the case.] Any
|
99 |
as of \R 4.4.0 this is no longer the case.] Any
|
| 100 |
statements after the call to \code{UseMethod} will not be evaluated as
|
100 |
statements after the call to \code{UseMethod} will not be evaluated as
|
| Line 115... |
Line 115... |
| 115 |
of the same name or are appended to the argument list, unnamed arguments are
|
115 |
of the same name or are appended to the argument list, unnamed arguments are
|
| 116 |
appended to the argument list. They are passed on as
|
116 |
appended to the argument list. They are passed on as
|
| 117 |
the promise that was supplied as an argument to the current
|
117 |
the promise that was supplied as an argument to the current
|
| 118 |
environment. (S does this differently!) If they have been evaluated
|
118 |
environment. (S does this differently!) If they have been evaluated
|
| 119 |
in the current (or a previous environment) they remain evaluated.
|
119 |
in the current (or a previous environment) they remain evaluated.
|
| 120 |
(This is a complex area, and subject to change: see the draft
|
120 |
(This is a complex area, and subject to change: see the draft of
|
| 121 |
\sQuote{R Language Definition}.)
|
121 |
\manual{R-lang}{}.)
|
| 122 |
|
122 |
|
| 123 |
The search for methods for \code{NextMethod} is slightly different
|
123 |
The search for methods for \code{NextMethod} is slightly different
|
| 124 |
from that for \code{UseMethod}. Finding no \code{fun.default} is not
|
124 |
from that for \code{UseMethod}. Finding no \code{fun.default} is not
|
| 125 |
necessarily an error, as the search continues to the generic
|
125 |
necessarily an error, as the search continues to the generic
|
| 126 |
itself. This is to pick up an \link{internal generic} like \code{[}
|
126 |
itself. This is to pick up an \link{internal generic} like \code{[}
|
| Line 173... |
Line 173... |
| 173 |
This scheme is called \emph{S3} (S version 3). For new projects,
|
173 |
This scheme is called \emph{S3} (S version 3). For new projects,
|
| 174 |
it is recommended to use the more flexible and robust \emph{S4} scheme
|
174 |
it is recommended to use the more flexible and robust \emph{S4} scheme
|
| 175 |
provided in the \pkg{methods} package.
|
175 |
provided in the \pkg{methods} package.
|
| 176 |
}
|
176 |
}
|
| 177 |
\seealso{
|
177 |
\seealso{
|
| 178 |
The draft \sQuote{R Language Definition}.
|
178 |
The draft of \manual{R-lang}{}.
|
| 179 |
|
179 |
|
| 180 |
\code{\link{methods}}, \code{\link{class}} incl.\sspace\code{\link{.class2}};
|
180 |
\code{\link{methods}}, \code{\link{class}} incl.\sspace\code{\link{.class2}};
|
| 181 |
\code{\link{getS3method}}, \code{\link{is.object}}.
|
181 |
\code{\link{getS3method}}, \code{\link{is.object}}.
|
| 182 |
}
|
182 |
}
|
| 183 |
\references{
|
183 |
\references{
|