Функция split_paths
Функция split_paths принимает строку,
содержащую несколько путей, разделённых
системным разделителем (например, :
в Unix-подобных системах или ;
в Windows), и возвращает итератор,
который выдаёт каждый путь по отдельности.
Параметром функция принимает строку или
срез строки с путями, которые нужно разбить.
Функция находится в модуле std::env.
Возвращаемый итератор содержит значения
типа PathBuf. Это удобно для
обработки переменных окружения, таких
как PATH, которые хранят список
директорий через разделитель.
Синтаксис
std::env::split_paths(paths)
Пример
Давайте разобьём строку с путями, разделёнными двоеточием, на отдельные элементы:
use std::env;
fn main()
{
let paths = "/usr/bin:/usr/local/bin:/bin";
let res: Vec<_> = env::split_paths(paths).collect();
println!("{:?}", res);
}
Результат выполнения кода:
["/usr/bin", "/usr/local/bin", "/bin"]
Пример
Давайте переберём каждый путь по отдельности в цикле и выведем его на экран:
use std::env;
fn main()
{
let paths = "12345:abcde";
for path in env::split_paths(paths) {
println!("{:?}", path);
}
}
Результат выполнения кода:
"12345"
"abcde"
Пример
Давайте разобьём строку с одним путём и получим вектор из одного элемента:
use std::env;
fn main()
{
let paths = "/usr/bin";
let res: Vec<_> = env::split_paths(paths).collect();
println!("{:?}", res);
}
Результат выполнения кода:
["/usr/bin"]
Смотрите также
-
функция
join_paths,
которая объединяет пути в одну строку -
функция
var,
которая возвращает значение переменной окружения -
функция
vars,
которая возвращает итератор по переменным окружения -
функция
current_dir,
которая возвращает текущую рабочую директорию