當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。