经过一段时间的休息后,我今天早上更新了RStudio和所有的包。
我有一个小函数,我用来美化货币
currency <- function(n, k=FALSE) {
n <- ifelse(!k, str_c("£", comma(round(n,0))), str_c("£", comma(round(n/1000,0)),"k"))
return(n)
}它现在无法解析-问题出在£符号上。
Error in parse(text = lines, n = -1, srcfile = srcfile) :
[path]/plot_helpers.R:72:
25: unexpected INCOMPLETE_STRING
71: currency <- function(n, k=FALSE) {
72: n <- ifelse(!k, str_c("
^
In addition: Warning message:
In readLines(con, warn = FALSE, n = n, ok = ok, skipNul = skipNul) :
invalid input found on input connection '/home/richardc/ownCloud/prodr/R/plot_helpers.R'但是,我可以在编辑器中运行代码,它工作得很好。是什么原因导致readLines以这种方式失败?
发布于 2019-02-07 21:47:34
在今天的一些混乱之后,我意识到问题出在devtools。下面是一个测试项目testencr.prj:
library(stringr)
library(devtools)
main <- function(n) {
n <- str_c("£", n)
return(n)
}我可以从控制台很好地运行代码,但当我使用devtools时,它会在UTF-8字符上运行:
> devtools::load_all()
Loading testencr
Error in parse(text = lines, n = -1, srcfile = srcfile) :
/home/richardc/ownCloud/test/R/test_enc.R:6:14: unexpected INCOMPLETE_STRING
5: main <- function(n) {
6: n <- str_c("
^
In addition: There were 27 warnings (use warnings() to see them)但是当我将特定的编码添加到描述中时
Encoding: UTF-8一切都很好(尽管项目的默认值是UTF8)
Loading testencr
There were 36 warnings (use warnings() to see them)```发布于 2020-04-27 18:01:07
我也遇到了同样的问题,特别是在一个闪亮的应用程序中(其他时候就不是了)。我设法通过使用这个unicode而不是£来解决这个问题:
enc2utf8("\u00A3")https://stackoverflow.com/questions/53223608
复制相似问题