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


Rust Path.components用法及代码示例


本文简要介绍rust语言中 std::path::Path.components 的用法。

用法

pub fn components(&self) -> Components<'_>

在路径的 Component 上生成一个迭代器。

解析路径时,有少量的归一化:

  • 重复的分隔符被忽略,因此a/ba//b 都具有ab 作为组件。

  • . 的出现被规范化,除非它们位于路径的开头。例如,a/./ba/b/a/b/.a/b 都具有 ab 作为组件,但 ./a/b 以附加的 CurDir 组件开头。

  • 尾部斜线被规范化掉,/a/b/a/b/ 是等价的。

请注意,不会发生其他标准化;特别是,a/ca/b/../c 是不同的,以说明 b 是符号链接的可能性(因此其父级不是 a )。

例子

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

let mut components = Path::new("/tmp/foo.txt").components();

assert_eq!(components.next(), Some(Component::RootDir));
assert_eq!(components.next(), Some(Component::Normal(OsStr::new("tmp"))));
assert_eq!(components.next(), Some(Component::Normal(OsStr::new("foo.txt"))));
assert_eq!(components.next(), None)

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::path::Path.components。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。