Метод ends_with
Метод ends_with проверяет, заканчивается ли путь указанным компонентом или последовательностью компонентов. Он возвращает true, если путь заканчивается на переданный фрагмент, и false в противном случае. Параметром метод принимает путь или компонент пути, который нужно проверить в конце исходного пути.
Важно понимать, что сравнение происходит покомпонентно, а не посимвольно. Это значит, что ends_with проверяет именно целые компоненты пути, а не произвольные подстроки. Например, путь "/foo/bar" заканчивается на "bar", но не заканчивается на "ar".
Синтаксис
path.ends_with(child)
Пример
Давайте проверим, заканчивается ли путь "/foo/bar" компонентом "bar":
use std::path::Path;
fn main()
{
let path = Path::new("/foo/bar");
let res = path.ends_with("bar");
println!("{}", res);
}
Результат выполнения кода:
true
Пример
Давайте проверим, заканчивается ли путь "/foo/bar" компонентом "foo":
use std::path::Path;
fn main()
{
let path = Path::new("/foo/bar");
let res = path.ends_with("foo");
println!("{}", res);
}
Результат выполнения кода:
false
Пример
Метод ends_with также умеет проверять последовательность из нескольких компонентов. Давайте проверим, заканчивается ли путь "/foo/bar/baz" последовательностью "bar/baz":
use std::path::Path;
fn main()
{
let path = Path::new("/foo/bar/baz");
let res = path.ends_with("bar/baz");
println!("{}", res);
}
Результат выполнения кода:
true
Пример
Поскольку сравнение идёт покомпонентно, частичное совпадение имени компонента не даёт результата true. Давайте проверим, заканчивается ли путь "/foo/bar" подстрокой "ar":
use std::path::Path;
fn main()
{
let path = Path::new("/foo/bar");
let res = path.ends_with("ar");
println!("{}", res);
}
Результат выполнения кода:
false
Пример
Давайте проверим работу метода с относительным путём. Заканчивается ли путь "foo/bar" компонентом "bar":
use std::path::Path;
fn main()
{
let path = Path::new("foo/bar");
let res = path.ends_with("bar");
println!("{}", res);
}
Результат выполнения кода:
true
Смотрите также
-
метод
starts_with,
который проверяет, начинается ли путь с указанного фрагмента -
метод
join,
который присоединяет компонент к пути -
метод
file_name,
который возвращает последний компонент пути -
метод
extension,
который возвращает расширение файла из пути