首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RStudio无法读取英镑井号

RStudio无法读取英镑井号
EN

Stack Overflow用户
提问于 2018-11-09 18:04:32
回答 2查看 622关注 0票数 2

经过一段时间的休息后,我今天早上更新了RStudio和所有的包。

我有一个小函数,我用来美化货币

代码语言:javascript
运行
复制
currency <- function(n, k=FALSE) {
n <- ifelse(!k, str_c("£", comma(round(n,0))), str_c("£", comma(round(n/1000,0)),"k"))
return(n)
}

它现在无法解析-问题出在£符号上。

代码语言:javascript
运行
复制
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以这种方式失败?

EN

回答 2

Stack Overflow用户

发布于 2019-02-07 21:47:34

在今天的一些混乱之后,我意识到问题出在devtools。下面是一个测试项目testencr.prj:

代码语言:javascript
运行
复制
library(stringr)
library(devtools)

main <- function(n) {
  n <- str_c("£", n)
  return(n)
}

我可以从控制台很好地运行代码,但当我使用devtools时,它会在UTF-8字符上运行:

代码语言:javascript
运行
复制
> 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)

但是当我将特定的编码添加到描述中时

代码语言:javascript
运行
复制
Encoding: UTF-8

一切都很好(尽管项目的默认值是UTF8)

代码语言:javascript
运行
复制
Loading testencr
There were 36 warnings (use warnings() to see them)```
票数 1
EN

Stack Overflow用户

发布于 2020-04-27 18:01:07

我也遇到了同样的问题,特别是在一个闪亮的应用程序中(其他时候就不是了)。我设法通过使用这个unicode而不是£来解决这个问题:

代码语言:javascript
运行
复制
enc2utf8("\u00A3")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53223608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档