Функция vars_os
Функция vars_os из модуля std::env возвращает
итератор, который перебирает все переменные окружения
текущего процесса. В отличие от функции vars,
которая возвращает пары String, данная функция
возвращает пары OsString. Это позволяет корректно
работать с переменными окружения, которые могут содержать
некорректный UTF-8. Параметров функция не принимает.
Синтаксис
std::env::vars_os()
Пример
Давайте получим все переменные окружения и выведем их количество:
use std::env;
fn main()
{
let count = env::vars_os().count();
println!("{}", count);
}
Результат выполнения кода:
42
Пример
Давайте переберём все переменные окружения и выведем первые пять из них:
use std::env;
fn main()
{
for (key, value) in env::vars_os().take(5)
{
println!("{:?} = {:?}", key, value);
}
}
Результат выполнения кода:
"PATH" = "/usr/local/bin:/usr/bin:/bin"
"HOME" = "/home/user"
"USER" = "user"
"SHELL" = "/bin/bash"
"LANG" = "en_US.UTF-8"
Пример
Давайте найдём конкретную переменную окружения среди всех переменных:
use std::env;
fn main()
{
let target = "PATH";
for (key, value) in env::vars_os()
{
if key == target
{
println!("{:?} = {:?}", key, value);
break;
}
}
}
Результат выполнения кода:
"PATH" = "/usr/local/bin:/usr/bin:/bin"
Смотрите также
-
функция
vars,
которая возвращает итератор по переменным окружения в виде String -
функция
var_os,
которая возвращает значение конкретной переменной окружения как OsString -
функция
args_os,
которая возвращает аргументы командной строки как OsString -
функция
set_var,
которая устанавливает переменную окружения