get_sig_text | R Documentation |
Produce the textual form of the signatures of available methods for an S4 generic function.
get_sig_text(rdo, package = NULL)
rdo |
an Rd object. |
package |
if of class "character", give only methods defined by
|
Signatures are found using function findMethodSignatures
from
package "methods".
Here we find all methods for show()
defined in package
"methods"
and print the first few of them:
\printExamplefn <- utils::help("show-methods", package = "methods"); rdo <- utils:::.getHelpFile(fn); head(get_sig_text(rdo))
A character vector with one element for each method.
todo: It would be better to call promptMethods() to get the signatures but in version R-2.13.x I had trouble with argument ‘where’ (could not figure out how to use it to restrict to functions from a package; also, promptMethods() seemed to call the deprecated function getMethods()). Check how these things stand in current versions of R, there may be no problem any more (checked, in 2.14-0 it is the same).
Georgi N. Boshnakov
## load another package with some S4 methods ("methods" is already loaded)
require("stats4")
rdo <- Rdo_fetch("show", package = "methods")
## alternatively:
#fn <- help("show-methods", package = "methods")
#rdo <- utils:::.getHelpFile(fn)
## this will find all methods for "show" in currently loaded packages
## (print only some of them)
head(get_sig_text(rdo))
## this will select only the ones from package "stats4"
get_sig_text(rdo, package = "stats4")
## this is also fine (interactively) but need to choose
## the appropriate element of "fn" if length(fn) > 1
#fn <- help("show-methods")
## this finds nothing
#fn <- help("logLik-methods", package = "methods")
#fn
Rdo_fetch("logLik-methods", package = "methods")
## this does
#fn <- help("logLik-methods", package = "stats4")
#rdo <- utils:::.getHelpFile(fn)
rdo2 <- Rdo_fetch("logLik-methods", package = "stats4")
get_sig_text(rdo2)
get_sig_text(rdo2, package = "stats4")
## only default method defined
## using this:
setGeneric("f1", function(x, y){NULL})
## since the following gives error in pkgdown:
#f1 <- function(x, y){NULL}
#setGeneric("f1")
fn <- tempfile()
reprompt("f1", filename = fn)
rdo <- tools::parse_Rd(fn)
get_sig_text(rdo)
setClass("aRdpack")
setClass("bRdpack")
## several methods defined
setGeneric("f4", function(x, y){NULL})
setMethod("f4", c("numeric", "numeric"), function(x, y){NULL})
setMethod("f4", c("aRdpack", "numeric"), function(x, y){NULL})
setMethod("f4", c("bRdpack", "numeric"), function(x, y){NULL})
setMethod("f4", c("aRdpack", "bRdpack"), function(x, y){NULL})
reprompt("f4", filename = fn)
rdo <- tools::parse_Rd(fn)
get_sig_text(rdo)
unlink(fn)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.