为什么R在一个下划线上解释段错误?

时间:2013-12-01 20:10:20

标签: r

这更多是出于好奇而不是其他任何东西,但为什么_导致R解释器出现段错误?更一般地说,是否有一个输入字符的某个列表会导致R解释器死掉?

当获取以下脚本时,它会导致R解释器发生段错误。

for  (_ in 1:50) {
}

通过在命令行上运行R然后键入

,可以重现此问题
source("Foo.r")

我正在运行3.0.2。我很好奇,因为我花了一些时间来隔离这个错误。

2 个答案:

答案 0 :(得分:7)

这是known bug in R 3.0.2已经修复的版本,将在下一版本中提供,如read me file中针对最新修补源所述。 R开发团队确定此错误不是特定于操作系统的,并且它只影响R 3.0.2。

阅读上面的错误报告和源代码以获取更多详细信息。

答案 1 :(得分:0)

不是答案,而是更多测试数据:

OSX 3.0.2,如果我在文本文件上执行< \ cmd> E,

Rgames> source("/var/folders/+N/+NUwiD8-Fse2oprSglHTd++++TM/-Tmp-//RtmphWNc9F/file17f8f461ba1ed")
Error in source("/var/folders/+N/+NUwiD8-Fse2oprSglHTd++++TM/-Tmp-//RtmphWNc9F/file17f8f461ba1ed") : 
  /var/folders/+N/+NUwiD8-Fse2oprSglHTd++++TM/-Tmp-//RtmphWNc9F/file17f8f461ba1ed:1:7: unexpected input
1: for  (_
         ^
Rgames> unlink("/var/folders/+N/+NUwiD8-Fse2oprSglHTd++++TM/-Tmp-
//RtmphWNc9F/file17f8f461ba1ed")

同样,如果我保存文本文件,

Rgames> source('foo.r')
Error in source("foo.r") : foo.r:1:7: unexpected input
1: for  (_
         ^

所以这显然不是所有操作系统上的错误。 此外,我尝试做“source(textConnection(”for(_ in in 1:50){}“))”就像在评论中发布的DWin一样,并且在R.app GUI中没有得到段错误。

ETA:在win7x64,R3.0.2x64下,无论是来自cygwin命令行还是rgui.exe都没有段错误。