Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby R中的虚线参数名称和/或变量_Ruby_Json_R_Rstudio_Opencpu - Fatal编程技术网

Ruby R中的虚线参数名称和/或变量

Ruby R中的虚线参数名称和/或变量,ruby,json,r,rstudio,opencpu,Ruby,Json,R,Rstudio,Opencpu,对于Ruby项目,我需要一个OpenCPU服务器来通过R包处理一些统计数据。OpenCPU有一个JSON REST API,因此使用Ruby,我可以轻松地挂接到该API中与R进行通信。到目前为止,一切都很好 其中一个软件包的语法很奇怪(至少对我来说是这样) 而不是由包参数强制执行: { ".argument1" => 4, ".argument2" => 3 }.to_json # => { ".argument1": 4, ".argument2": 3 } 因此,在绝望地

对于Ruby项目,我需要一个OpenCPU服务器来通过R包处理一些统计数据。OpenCPU有一个JSON REST API,因此使用Ruby,我可以轻松地挂接到该API中与R进行通信。到目前为止,一切都很好

其中一个软件包的语法很奇怪(至少对我来说是这样)

而不是由包参数强制执行:

{ ".argument1" => 4, ".argument2" => 3 }.to_json
# => { ".argument1": 4, ".argument2": 3 }

因此,在绝望地寻找说服研发人员不要使用圆点的理由时,我的问题仍然没有得到回答:参数前面的这一点在R中是否具有真正的功能,或者只是从IDE中排除变量的一种手段?

我想您会发现原因来自R中的
ls
函数的默认行为,该函数不返回以点开头的对象。这可以通过
all.names
参数进行修改:

all.names
一个逻辑值。如果为TRUE,则返回所有对象名称。如果为FALSE,则为以a开头的名称。省略了


以这种方式“隐藏”更多的技术函数或变量是很常见的,例如
.Machine
.Options
.Fortran
.dynLibs

这样的对象名是有效的R语法,并由多个包使用(甚至可能由一些基本的R函数使用?)。因此,您没有大小写,应该在R之外处理这个问题。点在R变量名中是有效的。也就是说,点是参数名称的一部分,而不是作用于参数的运算符(比如SQL)。在您的
add
示例中,第一个参数是
.argument1
,而不是
argument1
。感谢您的评论@Roland。在大多数编程语言中,有许多方法可以完成一件事,但大多数语言都有一个样式指南,建议选择一种或另一种方式。根据你的回答,我认为R中没有所谓的风格指南?@Ivan没有正式的风格指南。值得注意的是,一些组织已经制定了自己的风格指南,但有几个“学校”(特别是关于under_score/camelCase/dotterd.identifiers)。这是事实,但推理不适用于函数参数
{ argument1: 4, argument2: 3 }.to_json
# => { "argument1": 4, "argument2": 3 }
{ ".argument1" => 4, ".argument2" => 3 }.to_json
# => { ".argument1": 4, ".argument2": 3 }