gpt4 book ai didi

r - 如何覆盖R中的变量查找?

转载 作者:行者123 更新时间:2023-12-01 05:14:21 25 4
gpt4 key购买 nike

是否可以重新定义 R 查找变量的方式?

具体来说,我有 2 个 R 进程:客户端和服务器。我想对服务器进程的变量范围规则进行以下扩展:if x在任何父环境中都找不到,而是在客户端进程中查询 x :

# i.e. when (in the server process) I write
x

# I actually mean:
if (exists("x")) {
x
} else {
getFromClient("x", port = 1234L)
}

这可能吗?

背景

我在做一点 IPC此刻工作,客户端进程可以向服务器进程发出命令以执行。然而,命令不可避免地对数据(驻留在客户端)进行操作,我目前被迫手动硬编码每个需要从客户端导出到服务器的变量。

我也不喜欢简单地导出我的客户端进程的整个全局环境的选项,其中可能包含大量对处理手头命令没有用的冗余数据。

对于服务器来说,只需在需要变量时从客户端查询任何变量就更好了。

最佳答案

这在我看来非常懒惰和危险,我建议不要这样做。

服务器代码应该知道它需要从客户端获取哪些变量,并且应该明确获取这些变量,而不是等待 try catch “ undefined variable ”错误。

如果服务器代码试图获取 x$foo 怎么办?哪里x是服务器上的列表,但没有 $foo元素?分配给不存在的对象呢?错别字怎么办?

在每个程序中应该只有一个变量诞生的地方,在那个时候你应该用一个值定义它或从服务器获取它的值 - 没有必要试图偷懒。

您可能会编写仅在客户端-服务器环境中运行的代码,因此很难测试。

关于r - 如何覆盖R中的变量查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22107540/

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