Макрос env!
Макрос env! позволяет получить значение переменной окружения на этапе компиляции. Он принимает имя переменной окружения в качестве строкового литерала и возвращает её значение в виде строкового среза &'static str. Если переменная окружения не существует на момент компиляции, компиляция завершится ошибкой. Макрос удобен для получения таких данных, как путь к домашней директории, имя пользователя или версия операционной системы.
Синтаксис
env!("ИМЯ_ПЕРЕМЕННОЙ")
Пример
Давайте получим значение переменной окружения "PATH" и выведем его на экран:
fn main()
{
let path = env!("PATH");
println!("{}", path);
}
Результат выполнения кода (примерный):
/usr/local/bin:/usr/bin:/bin
Пример
Давайте попробуем получить значение несуществующей переменной окружения:
fn main()
{
let value = env!("MY_NONEXISTENT_VARIABLE");
println!("{}", value);
}
Компиляция завершится ошибкой:
error: environment variable `MY_NONEXISTENT_VARIABLE` not defined
Смотрите также
-
макрос
cfg!,
который проверяет конфигурацию во время компиляции -
макрос
compile_error!,
который вызывает ошибку компиляции с заданным сообщением -
макрос
file!,
который возвращает имя текущего файла -
макрос
line!,
который возвращает номер текущей строки