R 重新定义?(帮助)特定类的函数

R 重新定义?(帮助)特定类的函数,r,R,是否可以为R类重新定义?函数(帮助函数) 我试着定义 `?.myclass` = function(x) "foo" help.myclass = function(x) "foo" 但是它不会改变?的行为 f = function() "bar" class(f) = "myclass" ?f # doesn't work help(f) # doesn't work help.myclass(f) #works 我正

是否可以为R类重新定义
函数(帮助函数)

我试着定义

`?.myclass` = function(x) "foo"
help.myclass = function(x) "foo"
但是它不会改变
的行为

f = function() "bar"
class(f) = "myclass"
?f                   # doesn't work
help(f)              # doesn't work
help.myclass(f)      #works

我正在编写一个使用
PythonInR
导入一些Python函数的包。我希望可以为导入的Python函数添加一个类,使我能够创建一个自定义的帮助函数,在Python中调用
help(fun)
,并打印结果。我可以编写一个python.help函数来实现这一点,但我希望有一个更无缝的解决方案。

您可以尝试以下方法:

library(PythonInR)

`?` <- function(e1, e2) UseMethod("?")
`?.default` <- utils::`?`

`?.pyFunction` <- function(e1, e2) {
    topicExpr <- substitute(e1)
    pyHelp(deparse(topicExpr))
}

pyImport("getcwd", from="os", as="os")

? os.getcwd
但是,要使此函数正常工作,函数在Python和R中必须具有相同的名称

我相信为R函数创建.Rd文件可能会更好

export("?")
S3method("?", "default")
S3method("?", "pyFunction")