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


Rust PathBuf.push用法及代码示例


本文简要介绍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-lang.org大神的英文原创作品 std::path::PathBuf.push。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。