gpt4 book ai didi

c - R-C接口(interface): extracting an object from an environment

转载 作者:行者123 更新时间:2023-12-04 10:30:53 24 4
gpt4 key购买 nike

假设您通过 .Call 接口(interface)将一个 environment R 对象传递给一个内部 C 例程。所述 enviromnent 具有(按设计)一个 someObject 对象,我想从 C 端提取和操作该对象。怎么做?

为了简化我的问题,我只想编写一个返回 someObject 的 C 函数。像这样:

en <- new.env()
en$someObject <- someValue
.Call("extractObject",en)
#the above should return en$someObject

猜猜 C 代码应该看起来像

SEXP extractObject(SEXP env) {
return SOMEMACROORFUNCTION(env, "someObject");
}

不幸的是,我找不到真正的SOMEMACROORFUNCTION

最佳答案

经过一些谷歌搜索和搜索,我找到了解决方案:

findVar(install("someObject"),env)

在 C 代码中基本上等同于 R 中的 get("someObject",env)

关于c - R-C接口(interface): extracting an object from an environment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44437331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com