我希望能够从任意R连接(在某种意义上?connections
)中读取,该连接将由用户传递给R函数,然后通过传递到某些C代码.Call
.
文件中的R API R_ext/Connections.h
指定了一个函数,R_ReadConnection
它将一个指向Rconn
结构的指针作为它的第一个参数,然后执行我想要的操作.结构本身也在该标头中定义,但除了getConnection
(C函数)之外,我看不到检索该类型结构的方法,它不是API的一部分.据我所知,与连接关联的外部指针也不直接指向结构.
那么,有谁能告诉我是否有一种支持的方法将一个合适的转换SEXP
为指向相关Rconn
结构的指针?
提前致谢.
R API函数R_GetConnection()
是在R 3.3.0中添加的。SEXP
它执行从到 指针 到Rconn
(又名)的转换Rconnection
。因此,现在的解决方案是
#include <R_ext/Connections.h>
SEXP myfunction (SEXP conn_)
{
Rconnection conn = R_GetConnection(conn_);
// Do something with the connection
return R_NilValue;
}
Run Code Online (Sandbox Code Playgroud)
这记录在NEWS
:
R_GetConnection() 允许实现连接的包将 R 连接对象转换为 Rconnection 句柄。以前使用低级 R 内部 getConnection() 入口点的代码应该切换。
归档时间: |
|
查看次数: |
263 次 |
最近记录: |