本文簡要介紹rust語言中 std::path::Path.ancestors
的用法。
用法
pub fn ancestors(&self) -> Ancestors<'_>
在 Path
及其祖先上生成一個迭代器。
如果 parent
方法被使用零次或多次,迭代器將產生返回的 Path
。這意味著,迭代器將產生 &self
、 &self.parent().unwrap()
、 &self.parent().unwrap().parent().unwrap()
等等。如果 parent
方法返回 None
,迭代器也會這樣做。迭代器將始終產生至少一個值,即 &self
。
例子
use std::path::Path;
let mut ancestors = Path::new("/foo/bar").ancestors();
assert_eq!(ancestors.next(), Some(Path::new("/foo/bar")));
assert_eq!(ancestors.next(), Some(Path::new("/foo")));
assert_eq!(ancestors.next(), Some(Path::new("/")));
assert_eq!(ancestors.next(), None);
let mut ancestors = Path::new("../foo/bar").ancestors();
assert_eq!(ancestors.next(), Some(Path::new("../foo/bar")));
assert_eq!(ancestors.next(), Some(Path::new("../foo")));
assert_eq!(ancestors.next(), Some(Path::new("..")));
assert_eq!(ancestors.next(), Some(Path::new("")));
assert_eq!(ancestors.next(), None);
相關用法
- Rust Path.as_os_str用法及代碼示例
- Rust Path.components用法及代碼示例
- Rust Path.is_symlink用法及代碼示例
- Rust Path.canonicalize用法及代碼示例
- Rust Path.is_relative用法及代碼示例
- Rust Path.file_stem用法及代碼示例
- Rust Path.to_string_lossy用法及代碼示例
- Rust Path.display用法及代碼示例
- Rust Path.is_dir用法及代碼示例
- Rust Path.strip_prefix用法及代碼示例
- Rust Path.file_prefix用法及代碼示例
- Rust Path.exists用法及代碼示例
- Rust Path.read_link用法及代碼示例
- Rust Path.parent用法及代碼示例
- Rust Path.is_absolute用法及代碼示例
- Rust Path.new用法及代碼示例
- Rust Path.file_name用法及代碼示例
- Rust Path.join用法及代碼示例
- Rust Path.to_path_buf用法及代碼示例
- Rust Path.is_file用法及代碼示例
- Rust Path.try_exists用法及代碼示例
- Rust Path.extension用法及代碼示例
- Rust Path.has_root用法及代碼示例
- Rust Path.with_file_name用法及代碼示例
- Rust Path.symlink_metadata用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::path::Path.ancestors。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。