2017-08-10 30 views
7

如何爲r中的變量分配一個非常長的字符串?Rstudio控制檯中的命令行錯誤

以下工作精細

testVar <- "test;test;" 

但下面給出的RStudio控制檯一個奇怪的+

testVar <- "test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;test;" 

當我打Esc按鈕,打印testVar,只會打印test;test;

+0

你是什麼意思分配給一個變量?即'df $ var < - testVar'? – Sotos

+0

它對我來說工作得很好。你有沒有等待一段時間纔打開輸入? – akrun

+2

@ d.b你做了什麼?雖然我認爲akrun是正確的......太快按ENTER – Sotos

回答

10

"An Introduction to R" manualhelp.start()),第1.8節:

命令行的控制檯中輸入被限制爲約4095字節(不是字符)。

[腳註] 一些控制檯不允許你輸入更多,而在那些做一些將會默默地放棄多餘的,有些將使用它作爲下一行的開始。

根據評論,控制檯在處理方式上似乎確實存在一些差異。從OP,我們可以得出結論,RStudio不允許你輸入更多的字節。目前,RStudio does not acknowledge or intend to address this

我還在R devel mailing list上找到了2006年的會話,Brian D. Ripley在上面解釋了這個問題和文檔。它看起來自那時起已經發生了變化(當它是1024字節時)。


值得注意的是,它在源腳本中工作正常(即使是「硬編碼」)。只有REPL似乎有問題。

+1

應該注意的是,4095限制包括變量名稱,賦值運算符,空格以及創建字符串所需的引號所需的字節數。例如。 'testVar < - do.call(paste0,as.list(rep(「t」,4081)))'。如果要打印'testVar',則複製輸出並將複製的值(「t」重複4081)重新指定爲'testVar',如下所示:'testVar < - 「tttt .....注意:'nchar(「testVar < - 」)'返回11,有2個引用導致了'4081 +'的引用,如果你想添加一個字符,在控制檯中總共有11 + 2 = 4094個字節。 –