Книга: Программирование на языке Ruby

14.4.3. Импорт переменных окружения как глобальных переменных

14.4.3. Импорт переменных окружения как глобальных переменных

Существует библиотечка importenv.rb, которая импортирует все переменные окружения, сопоставляя им глобальные переменные программы:

require "importenv"
# Теперь переменные окружения стали глобальными переменными...
# Например, $PWD и $LOGNAME
where = $PWD
who = $LOGNAME
puts "В каталоге #{where}, вошел как #{who}"

Поскольку библиотека importenv пользуется библиотекой trace_var, отражение на самом деле двустороннее: если присвоить глобальной переменной новое значение, реальная переменная окружения получит то же значение.

require "importenv"
puts "Мой путь #$PATH"
# Печатается: /usr/local/bin:/usr/bin:/usr/ucb:/etc:.
$PATH = "/ruby-1.8.0:" + $PATH
puts "Моя переменная $PATH теперь равна #{ENV['PATH']}"
# Печатается: /ruby-1.8.0:/usr/local/bin:/usr/bin:/usr/ucb:/etc:.

Еще раз подчеркнем, что любые изменения переменных окружения, выполненные внутри программы на Ruby, не отражаются на их значениях, видимых вне этой программы.

Оглавление книги


Генерация: 1.378. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз