РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
864 of 1245 menu

Метод 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,
    который возвращает расширение файла из пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить