[英]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.