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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。