对于 Ruby 项目,我需要一个 OpenCPU 服务器来处理 R 包的一些统计信息。OpenCPU 有一个 JSON REST API,所以使用 Ruby,我可以轻松地与它挂钩以与 R 进行通信。到目前为止,一切都很好。
其中一个包有一个奇怪的(至少对我来说)语法。
add <- function(.argument1, .argument2) {
return(.argument1 + .argument2)
}
所以这只是一个例子,而不是实际的功能。我发现奇怪的部分是参数前面的那些点。当我建议删除这些点时,该软件包的开发人员说它是为了隐藏 IDE (R-Studio) 中的变量概述中的变量。在我看来,他想将参数(我们称之为私有的)设置为私有,或者至少以某种方式对其进行限定。我搜索了互联网以解释 R 的此功能,但一无所获。
实际问题是:我们使用 Ruby,Ruby 将数据转换成 JSON 并发送到 OpenCPU。OpenCPU 查找正确的包/函数,传递参数并执行它。然后它返回到做出 JSON 响应的 OpenCPU。我们更喜欢使用的 Ruby >1.9 Hash 语法如下所示:
{ argument1: 4, argument2: 3 }.to_json
# => { "argument1": 4, "argument2": 3 }
而不是包参数强制的旧:
{ ".argument1" => 4, ".argument2" => 3 }.to_json
# => { ".argument1": 4, ".argument2": 3 }
因此,在绝望地寻找一个论点来说服 R 开发人员不要使用这些点时,我的问题仍然没有得到解答:参数前面的这一点在 R 中是否具有真正的功能,或者只是将变量排除在外IDE?