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


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