当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R isS3method “method”是 S3 方法的名称吗?


R语言 isS3method 位于 utils 包(package)。

说明

检查 method 是否是有效/注册的 S3 方法的名称。或者,当指定fclass时,检查f是否是S3泛型函数的名称以及paste(f, class, sep=".")是否是有效的S3方法。

用法

isS3method(method, f, class, envir = parent.frame())

参数

method

字符串,通常采用 "<fn>.<class>" 形式。如果省略,则必须指定fclass

f

可选字符串,通常指定 S3 通用函数。当未指定 method 时使用。

class

可选字符串,通常指定 S3 类名称。当未指定 method 时使用。

envir

environment,其中首先搜索方法及其泛型,如 getS3method() 中。

logical TRUEFALSE

例子

isS3method("t")           # FALSE - it is an S3 generic
isS3method("t.default")   # TRUE
isS3method("t.ts")        # TRUE
isS3method("t.test")      # FALSE
isS3method("t.data.frame")# TRUE
isS3method("t.lm")        # FALSE - not existing
isS3method("t.foo.bar")   # FALSE - not existing

## S3 methods with "4 parts" in their name:
ff <- c("as.list", "as.matrix", "is.na", "row.names", "row.names<-")
for(m in ff) if(isS3method(m)) stop("wrongly declared an S3 method: ", m)
(m4 <- paste(ff, "data.frame", sep="."))
for(m in m4) if(!isS3method(m)) stop("not an S3 method: ", m)

也可以看看

methodsgetS3method

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Is 'method' the Name of an S3 Method?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。