pub enum Component<'a> {
Prefix(PrefixComponent<'a>),
RootDir,
CurDir,
ParentDir,
Normal(&'a OsStr),
}
Expand description
路径的单个组成部分。
Component
大致对应于路径分隔符 (/
或 \
) 之间的子字符串。
该 enum
是通过迭代 Components
来创建的,而 Components
又是通过 Path
上的 components
方法创建的。
Examples
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()),
]);
RunVariants§
Prefix(PrefixComponent<'a>)
RootDir
根目录组件出现在任何前缀之后和其他任何内容之前。
它代表一个分隔符,它指定路径从根开始。
CurDir
对当前目录的引用,即 .
。
ParentDir
对父目录的引用,即 ..
。
Normal(&'a OsStr)
正常组件,例如 a/b
中的 a
和 b
。
这种变体是最常见的一种,它代表对文件或目录的引用。
Implementations§
Trait Implementations§
source§impl<'a> PartialOrd<Component<'a>> for Component<'a>
impl<'a> PartialOrd<Component<'a>> for Component<'a>
impl<'a> Copy for Component<'a>
impl<'a> Eq for Component<'a>
impl<'a> StructuralEq for Component<'a>
impl<'a> StructuralPartialEq for Component<'a>
Auto Trait Implementations§
impl<'a> RefUnwindSafe for Component<'a>
impl<'a> Send for Component<'a>
impl<'a> Sync for Component<'a>
impl<'a> Unpin for Component<'a>
impl<'a> UnwindSafe for Component<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
从拥有的值中借用。 Read more