2

このコードについて少し助けが必要です:

foo <- function(obj){
  "fail"
}

foo.usefull <- function(obj){
  obj$content
}

myob <- structure(list(content="sucess"), class="usefull")

foo(myob)
#[1] "fail"

の呼び出しがfoo(myob)返すのは「成功」です。しかし、私は何かが欠けているようです。何?

4

1 に答える 1

8

fooジェネリックとして使用できるようにするには、ジェネリック関数として登録する必要がありますfoo.usefull。これを行う方法については、この投稿を参照してください。あなたのコードのために:

foo <- function(x) UseMethod("foo", x)   # define generic
foo.usefull <- function(obj){
  obj$content
}
myob <- structure(list(content="sucess"), class="usefull")
foo(myob)
# [1] "sucess"

printまたはthisなどの他の一般的なものについてplotは、すでに行われており、新しいplot.blabla作品をすぐに定義するだけです。

于 2013-03-17T15:29:33.637 に答える