4
我希望能夠分派到environment
中定義的方法。這將允許我爲proto
對象定義多態方法(proto
對象繼而從environment
類繼承)。例如: -方法在環境中使用UseMethod
x <- proto()
x$foo <- function(., obj) UseMethod("foo", obj)
x$foo.list <- function(., obj) "obj is a list!"
x$foo.data.frame <- function(., obj) "obj is a data.frame"
x$foo.default <- function(., obj) "obj is neither a list nor a data.frame!"
所以,我可以這樣做:
> x$foo(list())
[1] "obj is a list!"
> x$foo(1)
[1] "obj is neither a list nor a data.frame!"
然而,所有我現在得到調用x$foo
當
Error in UseMethod("foo") :
no applicable method for 'foo' applied to an object of class "c('proto', 'environment')"
如何解決這一問題?