本文简要介绍rust语言中 std::path::PathBuf.push
的用法。
用法
pub fn push<P: AsRef<Path>>(&mut self, path: P)
用 path
扩展 self
。
如果path
是绝对路径,它将替换当前路径。
在 Windows 上:
- 如果
path
有根但没有前缀(例如\windows
),它将替换除self
的前缀(如果有)之外的所有内容。 - 如果
path
有前缀但没有根,则替换self
。 - 如果
self
具有逐字前缀(例如\\?\C:\windows
)并且path
不为空,则新路径将被标准化:所有对.
和..
的引用都将被删除。
例子
推送相对路径会扩展现有路径:
use std::path::PathBuf;
let mut path = PathBuf::from("/tmp");
path.push("file.bk");
assert_eq!(path, PathBuf::from("/tmp/file.bk"));
推送绝对路径会替换现有路径:
use std::path::PathBuf;
let mut path = PathBuf::from("/tmp");
path.push("/etc");
assert_eq!(path, PathBuf::from("/etc"));
相关用法
- Rust PathBuf.pop用法及代码示例
- Rust PathBuf.with_capacity用法及代码示例
- Rust PathBuf.into_os_string用法及代码示例
- Rust PathBuf.set_file_name用法及代码示例
- Rust PathBuf.new用法及代码示例
- Rust PathBuf.set_extension用法及代码示例
- Rust PathBuf.as_path用法及代码示例
- Rust PathBuf用法及代码示例
- 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.ancestors用法及代码示例
- Rust Path用法及代码示例
- 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-lang.org大神的英文原创作品 std::path::PathBuf.push。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。