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

mer*_*011 9 r

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

在获取以下脚本时,它会导致R解释器出现段错误.

for  (_ in 1:50) {
}
Run Code Online (Sandbox Code Playgroud)

这可以通过R在命令行上运行然后键入来重现

source("Foo.r")
Run Code Online (Sandbox Code Playgroud)

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

asi*_*ira 7

这是R 3.0.2中的已知错误,已经修复并将在下一版本中提供,如最新修补源的自述文件中所述.R开发团队确定此错误不是特定于操作系统的,并且它只影响R 3.0.2.

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


Car*_*oft 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")
Run Code Online (Sandbox Code Playgroud)

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

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

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

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