這個問題可能聽起來很天真,但我明白,在分層文件系統中,目錄可以包含其他文件。但是,對於不是目錄的東西(例如vanilla「文件」),我無法提供一個好名字 - 我不能僅僅因爲class Directory extends Files
就稱它們爲文件。 我想要做的類型安全的操作(例如,如果我嘗試列出文件或讀取的目錄編譯會失敗):在計算機術語中,什麼叫「非目錄」?
sealed trait File {
def path: Path
}
case class Directory(path: Path, children: Iterable[File]) extends File
case class VanillaFile?(path: Path, contents: Iterable[Byte]) extends File
我應該爲VanillaFile
是一個更好的名字嗎?
編輯: 正如指出的那樣,在某些文件系統的一兩件事:
case class SymbolicLink(target: File) extends File
我不認爲這是一定要的文件歸類爲 「目錄」 或 「不目錄」 是個好主意。例如看看java.nio.Files中的「is *」方法 - 你也可以有符號鏈接。 –
>>什麼應該是一個更好的名字爲VanillaFile - StrawberryFile –
@AndyTurner:好點。但是,問題依然存在。我稱之爲香草文件(即不是目錄或鏈接的東西)? – pathikrit