簡體   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