有版本吗parent.frame
or sys.calls
或其他可以直接从 C 代码调用的通用上下文函数.Call
?环顾四周Rinternals.h
等等,我似乎找不到类似的东西。我能想到的最好的办法是:
my_fun <- function(x) {
.Call(my_fun_C, substitute(x), parent.frame(), sys.calls())
}
但理想情况下我宁愿避免 R 调用substitute
, parent.frame
等等,并直接从 C 中执行这些操作。为什么?每个函数调用都会增加 300ns 的评估时间my_fun
,虽然这并不会杀死我,但我想知道是否有办法避免它,或者我是否坚持上述情况。
有一段诱人的代码来自main/context.c
在函数中do_sys
:
RCNTXT *cptr;
cptr = R_GlobalContext;
t = cptr->sysparent;
but RCNTXT
定义于includes/Defn.h
, and Defn.h
看起来是一个内部非导出标头。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)