繁体   English   中英

为什么 R 在文件路径中使用正斜杠 (/) 而不是反斜杠 (\)

[英]Why R uses forward slash (/) and not backslash (\) in file paths

我正在教一个在线课程,一个学生问我为什么 R 在使用read.csv和其他相关功能时只在文件路径中使用/而不是\ 我尝试查看文档,但它并没有真正提及它。 从来没有真正考虑过,因为我使用的是 Mac,Mac 中的默认值是\ ,但在 Windows 机器中不是这样。

我没有受过计算机科学方面的培训,所以我害怕回答这个问题有点难过。 学生们总是问最糟糕的事情!

有趣的问题。

首先,“正斜杠” /实际上更常见,因为它被 Unix、Linux 和 macOS 使用。

其次,“反斜杠” \实际上有点痛苦,因为它也是一个转义字符。 因此,无论何时需要,都需要在字符串中输入两个: "C:\\TEMP"

第三,Windows 上的 R 知道这一点并提供帮助:因此,您可以在使用反斜杠的任何地方使用正斜杠: "C:/TEMP"的工作原理相同!

第四,您可以让 R 为您计算路径,它将使用分隔符: file.path("some", "dir")

所以简短的回答:R 在 Windows 上同时使用,让你选择你觉得更容易的那个。 但请记住使用两个反斜杠(除非您在原始字符串上使用非常新的 R 4.0.0 功能,我现在将跳过)。

(注意:反斜杠作为 Mac 上的目录文件夹分隔符是最近的一项创新。参见 Mac 文件夹分隔符的历史

我认为,如果您查看历史记录(或者如果您在它发生时不在那里进行查找),您会发现 Unix(Linux 完全复制)首先到达那里。 它先于 MS-DOS 或 Mac 或最后一个 Windows。 R 是 S 的一个类似工作的克隆,它像贝尔实验室的 Unix 一样开发。

Mac 最初使用冒号 (:) 作为文件夹分隔符(并且仍然不会在文件名中接受它们),并在其长期过渡到从 ATT 许可的 BSD Unix 期间的某个时间转换为斜杠。

问题不应该是:为什么微软选择使用反斜杠?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM