Метод pop
Метод pop удаляет последний компонент из пути
PathBuf. Если путь заканчивается на имя файла,
то оно удаляется, и путь становится путём до родительской
директории. Если путь заканчивается на "..",
то этот компонент также удаляется. Метод возвращает
true, если компонент был удалён, и false,
если путь уже пуст или состоит только из корня. Параметров
метод не принимает.
Синтаксис
pathbuf.pop()
Пример
Давайте удалим последний компонент из пути
"/foo/bar/baz":
use std::path::PathBuf;
fn main()
{
let mut path = PathBuf::from("/foo/bar/baz");
let res = path.pop();
println!("{}", res);
println!("{:?}", path);
}
Результат выполнения кода:
true
"/foo/bar"
Пример
Давайте попробуем удалить компонент из пути, который
состоит только из корня "/":
use std::path::PathBuf;
fn main()
{
let mut path = PathBuf::from("/");
let res = path.pop();
println!("{}", res);
println!("{:?}", path);
}
Результат выполнения кода:
false
"/"
Пример
Давайте удалим несколько компонентов из пути
"abcde/12345/test":
use std::path::PathBuf;
fn main()
{
let mut path = PathBuf::from("abcde/12345/test");
path.pop();
path.pop();
println!("{:?}", path);
}
Результат выполнения кода:
"abcde"
Смотрите также
-
класс
PathBuf,
который представляет собой изменяемый путь к файловой системе -
метод
push,
который добавляет компонент к пути -
метод
set_file_name,
который устанавливает имя файла в пути -
метод
set_extension,
который устанавливает расширение файла в пути