为什么 R 在文件路径中使用正斜杠 (/) 而不是反斜杠 (\)
Why R uses forward slash (/) and not backslash (\) in file paths
我在教一个在线课程,一个学生问我为什么 R 在使用 read.csv
和其他相关函数时只使用 /
而不是 \
在文件路径中。我试着查看 documentation 但它并没有真正提及任何相关内容。从来没有真正考虑过它,因为我使用 Mac,Macs 中的默认值是 \
,但在 Windows 机器中不是这样。
我没有接受过计算机科学方面的培训,所以恐怕我有点难以回答这个问题。学生们总是问最大胆的事情!
有趣的问题。
首先,“正斜杠”/
实际上 更常见,因为它在 Unix、Linux 和 macOS 中使用。
其次,“反斜线”\
实际上有点令人痛苦,因为它也是 转义字符。所以无论何时你想要一个,你都需要在字符串中输入两个:"C:\TEMP"
.
第三,Windows 上的 R 知道这一点并提供帮助!因此,您可以在任何要使用反斜杠的地方使用正斜杠:"C:/TEMP"
效果相同!
第四,你可以让 R 为你计算路径,它会使用分隔符:file.path("some", "dir")
.
所以简短的回答是:R 在 Windows 上同时使用两者,让您选择您认为更容易的那个。但请记住使用两个反斜杠(除非您在原始字符串上使用非常新的 R 4.0.0 功能,我现在将跳过它)。
我在教一个在线课程,一个学生问我为什么 R 在使用 read.csv
和其他相关函数时只使用 /
而不是 \
在文件路径中。我试着查看 documentation 但它并没有真正提及任何相关内容。从来没有真正考虑过它,因为我使用 Mac,Macs 中的默认值是 \
,但在 Windows 机器中不是这样。
我没有接受过计算机科学方面的培训,所以恐怕我有点难以回答这个问题。学生们总是问最大胆的事情!
有趣的问题。
首先,“正斜杠”/
实际上 更常见,因为它在 Unix、Linux 和 macOS 中使用。
其次,“反斜线”\
实际上有点令人痛苦,因为它也是 转义字符。所以无论何时你想要一个,你都需要在字符串中输入两个:"C:\TEMP"
.
第三,Windows 上的 R 知道这一点并提供帮助!因此,您可以在任何要使用反斜杠的地方使用正斜杠:"C:/TEMP"
效果相同!
第四,你可以让 R 为你计算路径,它会使用分隔符:file.path("some", "dir")
.
所以简短的回答是:R 在 Windows 上同时使用两者,让您选择您认为更容易的那个。但请记住使用两个反斜杠(除非您在原始字符串上使用非常新的 R 4.0.0 功能,我现在将跳过它)。