当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。