【发布时间】:2018-03-30 20:00:02
【问题描述】:
.NET 中是否存在与 Environment.NewLine 对应的 R?
我正在寻找一个字符对象,它可以代表基于环境的新行,例如CR LF ("\r\n") 在 Windows 上和 LF ("\n") 在 Unix 上。我在 R 文档或默认 R 选项中找不到任何此类内容。
【问题讨论】:
.NET 中是否存在与 Environment.NewLine 对应的 R?
我正在寻找一个字符对象,它可以代表基于环境的新行,例如CR LF ("\r\n") 在 Windows 上和 LF ("\n") 在 Unix 上。我在 R 文档或默认 R 选项中找不到任何此类内容。
【问题讨论】:
\n 应该仍然可以工作:
> s = "line 1\nline 2"
> cat(s)
line 1
line 2
这是一个单独的问题,它解释了print(s) 在尝试输出带有转义字符的字符串时不太有效,我们应该改用cat 或writeLine:Printing newlines with print() in R
【讨论】:
writeBin 将数据写入文件。
没有等价物,但大多数时候你不需要它:只要你写入文本连接,操作系统就会做正确的事情并根据平台规范处理'\n';例如,documentation of writeLines 表示:
通常
writeLines与文本模式连接一起使用,默认分隔符转换为该平台的正常分隔符(Unix/Linux 上的 LF,Windows 上的 CRLF)。
【讨论】:
write 并注意到它调用cat 和\n,所以我决定使用writeBin 来强制\r\n。我想只要将文本发送到文件,writeLines 就可以了。不过,可惜没有同类产品。