问题描述
如果我有一个返回formula
的R函数,它将绑定到该函数的作用域/环境。我该如何在函数内 以便返回的公式不具有该环境属性?
例如
myfun = function() {
model = y ~ 1
return(model)
}
结果:
> myfun()
# y ~ 1
# <environment: 0x000001ffd94eca50>
myfun = function() {
model = y ~ 1
attr(model,".Environment") = globalenv()
return(model)
}
但是这看起来很骇人,这真的是最好的方法吗?
解决方法
我可能会使用父级环境而不是全局环境
SDKConfig
这将在您调用它的地方创建环境,如果您始终喜欢全局环境,则async function createGame() {
try {
const newgame = {
game_name: 'deneme',bundle_identifier: 'com.magiclab.deneme',};
const sdk = {
publisher_id: null,facebook_app_id: 'fb12313',adjust_app_token: 'adjusttoken123123',};
const {
data: {
createGameConfig: { id: publisher_id },},} = await API.graphql(
graphqlOperation(createGameConfig,{ input: newgame })
);
sdk.publisher_id = publisher_id;
await API.graphql(graphqlOperation(createSDKConfig,{ input: sdk }));
} catch (err) {
console.log('error creating game sdk config:',err);
}
}
位也可以。