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

Макрос env!

Макрос env! возвращает значение переменной окружения на этапе компиляции. Он принимает один параметр - имя переменной окружения в виде строкового литерала. Если переменная не найдена на момент сборки, компиляция завершится ошибкой.

Поскольку макрос вычисляется во время компиляции, его результат имеет тип &'static str и не требует обработки ошибок во время выполнения. Для получения переменной во время выполнения используйте функцию var.

Синтаксис

env!("NAME") env!("NAME", "error message")

Пример

Давайте получим значение переменной окружения PATH во время компиляции и выведем его на экран:

fn main() { let path = env!("PATH"); println!("{}", path); }

Результат выполнения кода:

"/usr/local/bin:/usr/bin:/bin"

Пример

Давайте получим значение переменной окружения HOME и проверим, что оно не пустое:

fn main() { let home = env!("HOME"); let is_empty = home.is_empty(); println!("{}", is_empty); }

Результат выполнения кода:

false

Пример

Давайте передадим своё сообщение об ошибке, которое будет показано, если переменная окружения не найдена:

fn main() { let value = env!("MY_VAR", "MY_VAR is not set"); println!("{}", value); }

Если переменная MY_VAR не задана на момент компиляции, компилятор выдаст ошибку с текстом "MY_VAR is not set".

Смотрите также

  • макрос option_env!,
    который возвращает переменную окружения как Option
  • функция var,
    которая возвращает переменную окружения во время выполнения
  • функция vars,
    которая возвращает итератор по всем переменным окружения
  • функция set_var,
    которая устанавливает переменную окружения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить