當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust Component用法及代碼示例


本文簡要介紹rust語言中 Enum std::path::Component 的用法。

用法

pub enum Component<'a> {
    Prefix(PrefixComponent<'a>),
    RootDir,
    CurDir,
    ParentDir,
    Normal(&'a OsStr),
}

路徑的單個組件。

Component 大致對應於路徑分隔符(/\)之間的子字符串。

這個 enum 是通過迭代 Components 來創建的,而 Components 又是由 Path 上的 components 方法創建的。

例子

use std::path::{Component, Path};

let path = Path::new("/tmp/foo/bar.txt");
let components = path.components().collect::<Vec<_>>();
assert_eq!(&components, &[
    Component::RootDir,
    Component::Normal("tmp".as_ref()),
    Component::Normal("foo".as_ref()),
    Component::Normal("bar.txt".as_ref()),
]);

變體

Prefix(PrefixComponent<'a>)

元組字段

Windows 路徑前綴,例如 C:\\server\share

前綴類型有很多種,請參閱 Prefix 的文檔了解更多信息。

在 Unix 上不會發生。

RootDir

根目錄組件出現在任何前綴之後和其他任何內容之前。

它表示一個分隔符,指定路徑從根開始。

CurDir

對當前目錄的引用,即 .

ParentDir

對父目錄的引用,即 ..

Normal(&'a OsStr)

元組字段

0: &'a OsStr

普通組件,例如 a/b 中的 ab

此變體是最常見的變體,它表示對文件或目錄的引用。

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Enum std::path::Component。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。