Променливите на средата са променливи, предадени на програмите от командна линия или графичната обвивка. Когато се посочва променлива среда, тогава нейната стойност (каквато и да е променливата е определена като) се препраща.
Въпреки че има редица променливи на средата, които засягат само командния ред или самата графична обвивка (като PATH или HOME), има и няколко, които пряко влияят върху това Руби сценарии изпълни.
Съвет: Променливите на средата на Ruby са подобни на тези, открити в Windows OS. Например, потребителите на Windows може да са запознати с променлива на TMP потребител, за да дефинират местоположението на временната папка и за текущо влезлия потребител.
Достъп до променливи на околната среда от Ruby
Ruby има директен достъп до променливите на околната среда чрез ENV хашиш. Променливите на средата могат да бъдат директно четени или записани чрез използване на индекс оператор с низ аргумент.
Обърнете внимание, че записването в променливи на средата ще има ефект само върху дъщерните процеси на сценария Ruby. Други извиквания на скрипта няма да видят промените в променливите на средата.
#! / usr / bin / env рубин
# Печат на някои променливи
поставя ENV ['PATH']
поставя ENV ['EDITOR']
# Промяна на променлива и стартиране на нова програма
ENV ['EDITOR'] = 'gedit'
`cheat environment_variables --add`
Преминаване на променливи на околната среда към Ruby
За да предадете променливите на средата в Ruby, просто задайте тази променлива среда в черупката. Това варира леко между операционните системи, но концепциите остават същите.
За да зададете променлива среда в командния ред на Windows, използвайте командата set.
> задайте TEST = стойност
За да включите променлива среда вкл Linux или OS X, използвайте командата експортиране. Въпреки че променливите на средата са нормална част от Bash черупката, само променливи, които са били изнесени ще се предлага в програми, стартирани от черупката на Bash.
$ export TEST = стойност
Алтернативно, ако променливата на средата ще се използва само от програмата, която ще се стартира, можете да дефинирате всички променливи на околната среда преди името на командата. Променливата на средата ще бъде предадена на програмата като нейно изпълнение, но не и запаметена. Всички допълнителни извиквания на програмата няма да имат тази променлива среда.
$ EDITOR = gedit cheat environment_variables --add
Променливи на околната среда, използвани от Ruby
Съществуват редица променливи на средата, които влияят върху действието на преводача Ruby.
- RUBYOPT - Всички превключватели на командния ред тук ще бъдат добавени към всички превключватели, посочени в командния ред.
- RUBYPATH - Когато се използва с превключвателя -S в командния ред, пътеките, изброени в RUBYPATH, ще бъдат добавени към търсените пътища при търсене на Ruby скриптове. Пътеките в RUBYPATH предхождат пътищата, изброени в PATH.
- RUBYLIB - Списъкът с пътеки тук ще бъде добавен към списъка с пътища, които Ruby използва за търсене на библиотеки, включени в програмата с изискват метод. Пътеките в RUBYLIB ще се търсят преди други директории.